gpt4 book ai didi

testing - 守夜人 : Separate xpath into another files

转载 作者:行者123 更新时间:2023-11-28 20:07:55 25 4
gpt4 key购买 nike

如何将xpath分离成单独的文件并在nightwatch自动化测试中使用?

编辑:我运行一个页面对象模式示例并发现了一些错误。错误:类型错误:browser.page.url 不是函数

请帮忙解决这个问题。

module.exports = {
url: 'http://localhost:63916/Login/Login',
elements: {
username: {
selector: '//*[@id="inputName"]',
locateStrategy: 'xpath'
}
}
};

module.exports = (function(settings) {
settings.test_workers = false;

return settings;

})(require('./nightwatch.json'));

//const data = require('./data.js')


module.exports = {

'Login' : function (browser) {
var page = browser.page.url();

page.navigate()
.setValue('@username', 'peter')

browser.end()

}


};

最佳答案

所以假设页面对象定义在pages中目录。您需要更改您的 nightwatch.conf.js如下图

nightwatch.conf.js

module.exports = (function(settings) {
settings.test_workers = false;
settings.page_objects_path = "./pages";
return settings;
})(require('./nightwatch.json'));

你的 pages有一个名为 main.js 的文件

pages/main.js

module.exports = {
url: 'https://gmail.com',
elements: {
username: {
selector: '//*[@id="identifierId"]',
locateStrategy: 'xpath'
},
next: {
selector: '#identifierNext span',
locateStrategy: 'css'
}
}
};

然后你测试如下

测试/test.main.js

module.exports = {

'Login' : function (browser) {
var page = browser.page.main();

page.navigate()
.setValue('@username', 'peterlalwani')
.click('@next')
.waitForElementNotPresent("@username", 10000);

browser.saveScreenshot("./so.png")
browser.end()

}

};

现在,当您运行它时,它会创建一个 so.png

Test output

我创建了一个示例存储库供您克隆并查看上面的内容

https://github.com/tarunlalwani/nightwatch-page-object-so.git

PS:重要的是要注意var page = browser.page.main();意味着它将加载 main.js来自 pages文件夹在这里。

关于testing - 守夜人 : Separate xpath into another files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49401951/

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