量角器 - 如何在函数中使用json文件中的变量

时间:2017-10-23 11:49:13

标签: json automation protractor

我正在尝试在测试脚本中使用文件中的变量,但是我遇到了问题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"
}

我在这里做错了什么? 提前谢谢。

1 个答案:

答案 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();