我正在使用“BDD描述”在nightwatch中编写ui测试。我遇到的一个问题是,我不能在“it”块之间使用相同的页面对象实例。我必须在每个“it”块中重复同一行代码才能运行测试。我重复下面的代码
const loginTest = browser.page.loginPage();
我有没有办法避免冗余?。这是我的测试。请注意夜视不允许我在描述块下创建实例。
describe('Login Cases', function() {
beforeEach (browser => browser.url(browser.launchUrl)
it('Verify login is successful', async function (browser) {
const loginTest = browser.page.loginPage();
await loginTest.waitForElementVisible('@body')
await loginTest.setValue('@emailInput',browser.globals.Username)
await loginTest.setValue('@passwordInput',browser.globals.Password)
await loginTest.click('@submitBtn')
await loginTest.expect.element('@myAccountBtn').to.be.visible;
});
it('Verify incorrect login', async function (browser) {
const loginTest = browser.page.loginPage();
await loginTest.waitForElementVisible('@body')
await loginTest.setValue('@emailInput','incorrectusername')
await loginTest.setValue('@passwordInput','incorrectpwd')
await loginTest.click('@submitBtn')
await loginTest.expect.element('@myAccountBtn').to.not.be.present;
});
afterEach (browser => browser.end());
});
This is how i wrote for before block to instantiate the login page object.
its returning loginTest is not defined.
beforeEach(async function(browser) {
const loginTest = browser.page.loginPage();
browser => browser.url(browser.launchUrl)
});
当我实例化页面对象时,我通过使用这个关键字解决了这个问题。
beforeEach(async function(browser) {
this.loginTest = await browser.page.loginPage()
await this.loginTest.loginSuccess(browser.globals.Username,browser.globals.Password)
this.myAccounttest = await browser.page.myAccountPage();
});
beforeEach(async function(browser) {
this.loginTest = await browser.page.loginPage()
await this.loginTest.loginSuccess(browser.globals.Username,browser.globals.Password)
this.myAccounttest = await browser.page.myAccountPage();
});
当我们启动页面对象时使用this关键字可以解决这个问题。
详细留档可以在这里找到-https://nightwatchjs.org/guide#using-bdd-describe-beta-
找不到页面对象,我缺少什么? 守夜人0.9.16 在夜视中。json 在实际文件夹中 在MyLegacPage中。js公司 测试中 输出
我需要在python脚本和java引擎之间通过stdin和stdout进行一些进程间通信。 我是否可以将python对象转换为JSON,并将整个对象转换为字符串,通过stdin传递到Java,然后将该字符串转换回JSON进行处理,然后将其作为通过字符串转换的JSON对象返回到python 我只想知道是否可以通过stdin发送一个JSON对象,或者有什么可能的方法可以做到这一点
我的网页上有一个按钮,一旦输入所需的信息,我想点击它。我目前正在使用By来建立页面的所有元素,但想使用WebElements作为这个按钮,然后使用Actions稍后单击它。我应该如何在我的页面对象类中做到这一点。 我尝试了以下方法: 但在以TestNG的形式运行测试类时,它在WebElement行上显示空指针异常。也尝试使用By执行此操作,但按钮无法收到单击。它与WebElements配合得非常好
页面A通过push参数到页面B进行通信 页面A通过千牛存储数据并在B页面获取 用户可以在A页面QN.localstore存储数据,并在页面B取得数据 如果希望A页面的数据,能在B页面使用,可以在A页面使用如下代码设置数据,这里用到了JSSDK的本地存储接口。 QN.localstore.set({ query: { key: 'myData', value:
我在2个不同的私有子网中有2个EC2实例,都位于负载均衡器后面。我想通过域名https url在两个实例中的应用程序之间设置通信。我该怎么做?
本文向大家介绍python实现通过shelve修改对象实例,包括了python实现通过shelve修改对象实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现通过shelve修改对象的方法,分享给大家供大家参考。 具体实现方法如下: 本文实例测试环境为Python2.7.6 程序运行结果如下: 实例代码及运行结果均配有较为详尽的注释,帮助大家理解其含义。希望本文所述对大家的