我们能不能用browser.findElement()方法来代替browser.driver.findElement()方法来应用非角度的应用呢?
发布于 2018-06-01 08:31:05
我猜你的问题是关于browser.driver.findElement和browser.element的
browser.driver.findElement方法返回由webDriver(Selenium)提供的webElement。
当您调用browser.driver.findElement(locator)时,WebDriver立即向浏览器发送命令,要求它定位元素。这些WebElement提供了可用于与浏览器交互的操作方法。
browser.element方法返回由protractor提供的ElementFinder对象。
与WebElement在调用browser.element(locator)时不同,ElementFinders只存储定位器信息,但在调用操作方法之前不会要求浏览器查找元素。
这对于创建页面对象是很好的,因为我们可以重用在安装程序中定义的东西(在加载页面之前)。
除了由量角器提供的几个其他辅助方法之外,所有WebElement操作都可以在ElementFinder上包装和使用。
此外,您还可以使用WebElement访问底层element(locator).getWebElement(),但是您不应该需要这样做,因为您也可以对非角度应用程序使用browser.element(locator)方法。
发布于 2017-08-09 07:05:27
您只需要使用browser.driver访问webdriver实例
browser.driver.findElement(by.css('[data-ptor="submit-btn"]'));在您的config.js中,它可能更优雅:
onPrepare: function() {
global.dvr = browser.driver;
}在你的测试中:
dvr.findElement(by.css('[data-ptor="submit-btn"]'));尽管你可以告诉它,在你的非角度应用程序上不要那么聪明,但量角器等待它完成它的工作:
beforeEach(function() {
return browser.ignoreSynchronization = true;
});https://stackoverflow.com/questions/45576268
复制相似问题