我无法使用element或browser.get命令(使用Windows 7)

时间:2014-03-05 16:18:22

标签: angularjs selenium-webdriver protractor

it('login page', function() {
    browser.driver.get('url');

    browser.driver.findElement(by.name('j_username')).sendKeys('admin');
    //browser.driver.sleep(4000);
    browser.driver.findElement(by.name('j_password')).sendKeys('admin');
    browser.driver.findElement(by.className('btn-sign-in')).click();
  });

我可以成功运行以上代码,但当我将其用作 -

it('login page', function() {
    browser..get('url');

    element(by.name('j_username')).sendKeys('admin');

    element(by.name('j_password')).sendKeys('admin');
    element(by.className('btn-sign-in')).click();
  });

我无法运行它。

同样当我尝试在elementexplorer.js中使用它时,它不起作用 -

> element(by.id('username'))
{ click: [Function],
  sendKeys: [Function],
  getTagName: [Function],
  getCssValue: [Function],
  getAttribute: [Function],
  getText: [Function],
  getSize: [Function],
  getLocation: [Function],
  isEnabled: [Function],
  isSelected: [Function],
  submit: [Function],
  clear: [Function],
  isDisplayed: [Function],
  getOuterHtml: [Function],
  getInnerHtml: [Function],
  findElements: [Function],
  isElementPresent: [Function],
  evaluate: [Function],
  '$$': [Function],
  findElement: [Function],
  find: [Function],
  isPresent: [Function],
  element: { [Function] all: [Function] },
  '$': [Function] }

这意味着这也不适用。

1 个答案:

答案 0 :(得分:-1)

这会让很多人在使用元素资源管理器时感到困惑。当你使用像element(by.id('username'))这样的东西时,量角器不会立即执行它。您需要调用元素上的函数来测试它。

做类似的事情:

element(by.id('username')).getAttribute('value')

然后元素资源管理器会告诉你它是否有效。