gpt4 book ai didi

javascript - 为测试多语言网站编写测试的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 16:37:10 26 4
gpt4 key购买 nike

我刚刚编写了这段代码来测试我们网站德文版的登录过程:

describe('login', () => {

context('Language: DE', () =>{

beforeEach(() => {
...
})

it('links to #/passwordforgotten', () => {
...
})

it('links to #/register', () => {
...
})

it('links to login further options', () => {
...
})

it('requires username', () => {
...
})

it('requires password', () => {
...
})

it('requires valid username and password', () => {
...
})

it('navigates to #/ on successful login', () => {
...
})
})
})

我们的网站以九种语言提供。我是否应该为每种语言复制这段代码:
describe('login', () => {

context('Language: DE', () =>{
...
})

context('Language: EN', () =>{
...
})

context('Language: ES', () =>{
...
})

context('Language: IT', () =>{
...
})

...
})

或者我应该在检查内容时实现逻辑结构?
it('requires password', () => {

cy.get('#UserName').type('username{enter}')
const url = cy.hash()

if(url.contains('de'))
cy.contains('Bitte geben Sie Ihr Passwort ein!')
if(url.contains('en'))
cy.contains('Please enter your password!')
if(url.contains('es'))
cy.contains('Por favor introduzca su contraseña')
if(url.contains('it'))
cy.contains('Il nome utente o password non è corretto.')

...
}

什么更有效率?如果打算定期运行这组测试怎么办?

最佳答案

我使用这个技巧对一个支持 40 种语言环境的多语言站点进行了测试:

  • 为每个语言环境定义一个字典(JSON 文件)。在语言环境文件中,定义元素 ID 和文本之间的映射。
  • 编写测试套件以将“语言环境”作为参数/环境变量。测试用例将根据语言环境参数引用适当的字典文件。测试用例将根据语言环境字典中定义的映射进行断言。
  • 以 locale 作为参数运行测试套件。这帮助我避免了很多 if-else 条件和切换 block !

  • 它还帮助仅针对特定语言运行测试以进行发布。 (并非所有语言网站都针对每个版本进行更新的场景)

    关于javascript - 为测试多语言网站编写测试的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60090804/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com