我正在尝试在测试脚本中使用文件中的变量,但是我遇到了问题Failed: web.proceedButton.isPresent is not a function
。
我的代码如下所示:
describe('Navigator homepage', function() {
it('should proceed to login', function() {
var web = require('../example/webObjectVariables.json');
web.proceedButton.isPresent();
web.proceedButton.click();
web.loginField.sendKeys("login");
web.passwordField.sendKeys("password");
web.logInButton.click();
browser.driver.sleep(1000);
Json文件如下所示:
{
"proceedButton":"auth-login-page-button",
"loginField":"login_username",
"passwordField":"login_password",
"logInButton":"auth-login-page-button"
}
我在这里做错了什么? 提前谢谢。
答案 0 :(得分:3)
web.proceedButton
是一个"auth-login-page-button"
字符串,没有isPresent()
或click()
或量角器ElementFinder
所拥有的其他方法。
我认为你忘了使用这个定位器实际找到元素,假设auth-login-page-button
是一个id:
var loginPageButton = element(by.id(web.proceedButton));
loginPageButton.click();
请注意,像loginPageButton.isPresent()
这样的行本身不会做任何事情,您是否要等待按钮的存在?
var EC = protractor.ExpectedConditions;
browser.wait(EC.presenceOf(loginPageButton), 5000);
loginPageButton.click();