Protractor 如何在网站版本上使用量角器
我需要测试一个网站的两个不同版本,其中一个版本的功能与另一个稍有不同。作为其中的一部分,我想使用相同的代码,但取决于站点的IP地址,选择是否应该运行测试。有没有办法做到这一点。谢谢。将您的网站和登录信息包含在conf.js文件中,这样就可以在不修改大量代码的情况下轻松更改Protractor 如何在网站版本上使用量角器,protractor,Protractor,我需要测试一个网站的两个不同版本,其中一个版本的功能与另一个稍有不同。作为其中的一部分,我想使用相同的代码,但取决于站点的IP地址,选择是否应该运行测试。有没有办法做到这一点。谢谢。将您的网站和登录信息包含在conf.js文件中,这样就可以在不修改大量代码的情况下轻松更改 // conf.js exports.config = { framework: 'jasmine', seleniumAddress: 'http://localhost:4444/wd/hub', params
// conf.js
exports.config = {
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
params: {
login: {
username: '*****',
password: '*****',
},
website: {
url: '*****',
},
},
specs: 'spec.js'
}
然后,在spec.js文件中,尝试以下操作:
// spec.js
describe('General Testing', function() {
browser.driver.sleep(0).then(function() {
if(browser.params.website.url == 'www.gmail.com'){
it('should run this test', function() {
// **********
});
} else {
it('should run the second test', function() {
// **********
});
}
});
});
编辑:
我后来意识到,你的问题可能更具体地指的是ip地址,而不是url。我查看了量角器api,没有找到直接访问ip的方法。只有像browser.driver.getCurrentUrl和browser.driver.getTitle这样的命令。我相信你必须使用某种额外的代码库来获得你想要的东西。 < P>如果你有两个环境要测试,我会考虑简单地制作两个CONF文件——一个用于每个环境——并且将你的规格文件分成不同的文件夹,这取决于你希望它们运行的环境。 第一个配置将包含:
//env1conf.js
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['./common/*spec.js', './env1/*spec.js'],
onPrepare: function() {
browser.get('environment1');
}
}
第二点:
//env2conf.js
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['./common/*spec.js', './env2/*spec.js'],
onPrepare: function() {
browser.get('environment2');
}
}
在上面的示例中,您将有三个文件夹:common、env1和env2,每个文件夹都包含等级库文件。然后,您可以在一个或其他环境上运行测试,只需在运行量角器时引用一个或另一个配置即可:
> protractor env1conf
它将根据您的environment1 url运行所有公共规范和env1
如果您希望将测试从一个环境移动到另一个环境,或者如果测试与这两个环境都相关,则将它们移动到公共环境中,这种方法也会使您变得更容易。如果您需要第三个环境,那么设置第三个配置文件就足够简单了
请注意,在上面的配置文件中,我包含了一个onPrepare语句,它将导航到适当的环境,但您可以轻松地使用一个参数:
params: {
url : 'environment1'
}
如果希望在实际规格中执行browser.get语句:
browser.get(browser.params.url);
嗨,bdf7kt,这是我要去的方向。我只是想也许有一个不同的方法,我可以使用。我使用的两个网站都有静态地址,这样对我来说更容易。谢谢你的帮助。