Webdriverio元素需要为字符串类型吗?

时间:2018-09-08 12:23:39

标签: javascript selenium-webdriver webdriver-io

Webdriverio元素需要为字符串类型吗?

我的代码如下:

describe('Test Contact Us form WebdriverUni', function() {
  it.only('Should be able to submit a successful submission via contact us form', function(done) {
    browser.pause(5000);
      var firstNameTextField = $("[name='first_name']");
      var firstNameTextField = "[name='last_name']";

      browser.setValue(firstNameTextField, 'Joe');

使用以下代码:var和$,我似乎收到以下异常:“元素需要为String类型”。

此外,以下操作因相同的异常而失败:

var firstNameTextField = browser.element("[name='last_name']");

但是,以下方法可行:

browser.setValue("[name='first_name']", 'Joe');

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您会看到,webdriver setValue具有一个必须为String类型的选择器。

使用这段代码:var firstNameTextField = $("[name='first_name']");是在获取对象,而不是字符串。

然而,当您这样称呼它时:browser.setValue("[name='first_name']", 'Joe');则提供了String类型的选择器。而且有效。

因此,您可能应该将变量更改为var firstNameTextField = "[name='first_name']";

编辑:

我还注意到您在这里两次使用相同的变量名:

  var firstNameTextField = $("[name='first_name']");
  var firstNameTextField = "[name='last_name']";

第二个不是lastNameTextField吗?

相关问题