【问题标题】:JavaScript conditions Protractor testingJavaScript 条件量角器测试
【发布时间】:2020-06-25 13:14:47
【问题描述】:

我有一个无法解决的练习

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

一个。是:继续测试。

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

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

我 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")
        }
    });  
});

【问题讨论】:

  • 你的脚本有什么问题?有什么错误吗?任何事情都不像你预期的那样?我们在解决什么问题?

标签: javascript backbone.js jasmine protractor automated-tests


【解决方案1】:

检查 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')
    }
});

但我建议使用 'expect' 函数编写它:

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    相关资源
    最近更新 更多