1

我正在使用一个条件(if-else 循环)来根据环境使用不同的 URL。我在 fixture.beforeEach(..) 中提到了这一点,并希望根据结果点击 TESTS 中的 URL

fixture('Verifying')
       .beforeEach(async t =>{
        console.log("Execution Started ");
        const args = minimist(process.argv.slice(2));
        var environment = args.env;
        if(environment == 'Test')
        {
            t.ctx.Connectionstring=config.Test.Connectionstring;
            t.ctx.Url=config.Test.Url;
        }
        else if(environment == 'Stage')
        {
            t.ctx.Connectionstring=config.Stage.Connectionstring;
            t.ctx.Url=config.Stage.Url;
        }
        else if(environment == 'Prod')
        {
            t.ctx.Connectionstring=config.Prod.Connectionstring;
            t.ctx.Url=config.Prod.Url;
        }


 test.page(t.ctx.Url)
    ("TC1 - Report Batches", async t => {

    await t

    .typeText(lgpage.username, 'abc)
    .typeText(lgpage.password,'abc')
    .click(lgpage.submit)
})

test.page(t.ctx.Url) 不起作用。即使我给 fixture.page(t.ctx.Url) 在它给出错误的时候都不起作用:

“无法在应执行测试控制器操作的上下文中隐式解析测试运行。请改用测试函数的 't' 参数。”

我也试过 navigateTo(t.ctx.Url) 这不起作用。

4

1 回答 1

2
fixture('Verifying')
       .beforeEach(async t =>{
        console.log("Execution Started ");
        const args = minimist(process.argv.slice(2));
        var environment = args.env;
        if(environment == 'Test')
        {
            t.ctx.Connectionstring=config.Test.Connectionstring;
            t.ctx.Url=config.Test.Url;
        }
        else if(environment == 'Stage')
        {
            t.ctx.Connectionstring=config.Stage.Connectionstring;
            t.ctx.Url=config.Stage.Url;
        }
        else if(environment == 'Prod')
        {
            t.ctx.Connectionstring=config.Prod.Connectionstring;
            t.ctx.Url=config.Prod.Url;
        }


 test("TC1 - Report Batches", async t => {
    await t
    .navigateTo(t.ctx.Url)
    .typeText(lgpage.username, 'abc)
    .typeText(lgpage.password,'abc')
    .click(lgpage.submit)
})
于 2019-08-23T11:29:44.963 回答