繁体   English   中英

JavaScript 条件 Protractor 测试

[英]JavaScript conditions Protractor testing

我有一个无法解决的练习

检查加载的页面是否为预期页面。

一个。 是:继续测试。

湾。 否:返回错误,通知加载的页面不是预期的页面。

如何在我的测试用例中写下这些条件?

我 100% 确定它是错误的,但找不到正确的编写方法。

const {element, by} = require ("protractor")
const {ExpectedConditions} = require('protractor')

describe('wefox task', function(){
    it('login', async function(){
        await browser.get('URL');
        if (window.location.href=='URL')
        {
            const user_input = element(by.css("body > wf-root > wf-public-layout > section > div > div > wf-login-page > section > form > div > div > div.wf-c-field.wf-u-pb-24 > div"))
            const username = element(by.id('user_name'))
            const pass_input = element(by.css("body > wf-root > wf-public-layout > section > div > div > wf-login-page > section > form > div > div > div.wf-c-field.--password.wf-u-pb-32 > div"))
            const password = element(by.id('password'))
            const btn_login = element(by.css('body > wf-root > wf-public-layout > section > div > div > wf-login-page > section > form > div > div > button'))
            const button = element(by.buttonText('Anmeldung'))

            await browser.wait(ExpectedConditions.visibilityOf(username),10*1000)
            await browser.wait(ExpectedConditions.elementToBeClickable(user_input),10*1000)
            await browser.wait(ExpectedConditions.visibilityOf(password),10*1000)
            await browser.wait(ExpectedConditions.elementToBeClickable(pass_input),10*1000)

            await user_input.click ()
            await username.sendKeys ("login")
            await pass_input.click ()
            await password.sendKeys ("password")
            await btn_login.click()

            await browser.sleep(50000);
        } else {
            console.log ("error")
        }
    });  
});

用于检查 URL 是否为预期语句的简单 if-else 语句:

it('should verify the URL', async () => {
    const url = 'http://www.protractortest.org/#/';

    await browser.get(url);

    const expectedUrl = await browser.getCurrentUrl();

    if (expectedUrl === url) {
        //...
        console.log('success')
    } else {
        //...
        console.log('error')
    }
});

但我建议使用“期望”function 编写它:

it('should verify the URL', async () => {
    const url = 'http://www.protractortest.org/#/';

    await browser.get(url);

    expect(await browser.getCurrentUrl()).toBe(url);
});

此外,您可能需要等待 URL 更改。 有一些方法:

// Waits for the URL to be 'http://www.protractortest.org/#/'.
await browser.wait(ExpectedConditions.urlIs('http://www.protractortest.org/#/'), 5000);

// Waits for the URL to contain 'protractortest'.
await browser.wait(ExpectedConditions.urlContains('protractortest'), 5000);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM