【问题标题】:protractor id click is not working量角器 ID 点击不起作用
【发布时间】:2015-01-11 09:39:08
【问题描述】:

我正在为 e2e 使用量角器。下面的代码可以很好地打开我的浏览器,但没有点击 id 并在等待一段时间后失败。我错过了什么

describe('Craigslist automation', function() {
    browser.get('http://finance.yahoo.com');
    it('should greet the named user', function() {

        var postLink = element(by.id('yucs-top-news'));
        postLink.click();
        expect(true).toBeTruthy();

    });
});

这是堆栈跟踪

A Jasmine spec timed out. Resetting the WebDriver Control Flow.
The last active task was: 
WebDriver.executeScript()
    at [object Object].webdriver.WebDriver.schedule (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:302:15)
    at [object Object].webdriver.WebDriver.executeAsyncScript (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:538:15)
    at [object Object].Protractor.get (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/lib/protractor.js:1248:15)
    at [object Object].<anonymous> (/Library/WebServer/Documents/youman/test/spec/spec/example_spec.js:42:13)
    at [object Object].jasmine.Env.describe_ (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-1.3.1.js:913:21)
    at [object Object].jasmine.Env.describe (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-1.3.1.js:898:15)
    at describe (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-1.3.1.js:658:27)
    at Object.<anonymous> (/Library/WebServer/Documents/youman/test/spec/spec/example_spec.js:41:1)
    at Module._compile (module.js:456:26)
F

Failures:

  1) Craigslist automation should greet the named user
   Message:
     timeout: timed out after 10000 msec waiting for spec to complete
   Stacktrace:
     undefined

Finished in 11.011 seconds
1 test, 1 assertion, 1 failure

/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1640
      var result = fn();
                   ^
Error: Angular could not be found on the page http://finance.yahoo.com/ : retries looking for angular exceeded
    at /Library/WebServer/Documents/youman/test/spec/node_modules/protractor/lib/protractor.js:1254:17
    at /Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:1582:15
    at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1640:20)
    at notify (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:444:12)
    at notifyAll (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:422:7)
    at resolve (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:400:7)
    at fulfill (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:512:5)
    at Object.webdriver.promise.asap (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:758:5)
    at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1651:25)
    at notify (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:444:12)
==== async task ====
WebDriver.executeScript()
    at [object Object].webdriver.WebDriver.schedule (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:302:15)
    at [object Object].webdriver.WebDriver.executeAsyncScript (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:538:15)
    at [object Object].Protractor.get (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/lib/protractor.js:1248:15)
    at [object Object].<anonymous> (/Library/WebServer/Documents/youman/test/spec/spec/example_spec.js:42:13)
    at [object Object].jasmine.Env.describe_ (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-1.3.1.js:913:21)
    at [object Object].jasmine.Env.describe (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-1.3.1.js:898:15)
    at describe (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-1.3.1.js:658:27)
    at Object.<anonymous> (/Library/WebServer/Documents/youman/test/spec/spec/example_spec.js:41:1)
    at Module._compile (module.js:456:26)
==== async task ====
WebDriver.quit()
    at [object Object].webdriver.WebDriver.schedule (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:302:15)
    at [object Object].webdriver.WebDriver.quit (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:375:21)
    at [object Object].HostedDriverProvider.teardownEnv (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/lib/driverProviders/hosted.js:47:16)
    at driverprovider_.setupEnv.then.then.then.then.passed (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/lib/runner.js:280:35)
    at _fulfilled (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/q/q.js:797:54)
    at self.promiseDispatch.done (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/q/q.js:826:30)
    at Promise.promise.promiseDispatch (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/q/q.js:759:13)
    at /Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/q/q.js:573:44
    at flush (/Library/WebServer/Documents/youman/test/spec/node_modules/protractor/node_modules/q/q.js:108:17)

【问题讨论】:

    标签: javascript angularjs testing protractor


    【解决方案1】:

    protractor 是一个面向 Angular 应用程序的 e2e 测试框架。据我所知,http://finance.yahoo.com 不是一个角度应用程序,错误是关于:

    错误:在页面上找不到 Angular http://finance.yahoo.com/ : 重试寻找角度超出范围

    但是,您仍然可以通过关闭同步或直接与driver 对象交互来将protractor 用于非角度站点,请参阅:

    【讨论】:

      猜你喜欢
      • 2015-11-27
      • 2015-09-05
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 2018-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多