protractor - 需要帮助在代码中设置 protractor.browser
问题描述
实际上,需要设置量角器的实例,因此,写,
var ptor = protractor.getInstance();
var driver = ptor.driver;
// Switching to frame
ptor.switchTo().frame(driver.findElement(protractor.By.id('NavBarGloablQuickCreate')));
对于上面的代码,它被指示设置:
量角器:失败:protractor.getInstance 不是函数
var browser = require("protractor").protractor.browser;
var driver = browser.driver;
But while setting it in the beginning :
for example :
it("Creating Customer",function()
{
var browser = require("protractor").protractor.browser;
browser.ignoreSynchronization = true;
错误在那里,说:
找不到模块“量角器”
请。帮助
解决方案
我错过了.getWebElement()
原始答案中的内容,但是由于您在评论中说您愿意设置SELENIUM_PROMISE_MANAGER: false
,您可以尝试这种方法吗?请注意,使用此设置,您的所有代码都需要更改为 async/await 样式,否则可能无法按您期望的顺序运行。
conf.js
exports.config = {
framework: 'jasmine',
seleniumAddress: 'localhost:4444/wd/hub',
capabilities: {
browserName: 'chrome'
},
specs: ['spec.js'],
SELENIUM_PROMISE_MANAGER: false,
jasmineNodeOpts: {
isVerbose: true,
includeStackTrace: true,
showColors: true,
defaultTimeoutInterval: 3000000
}
};
Spec.js
it('switch to browser', async () => {
await browser.waitForAngularEnabled(false);
await browser.switchTo().frame(element(by.id('NavBarGloablQuickCreate')).getWebElement());
let firstNField = element(by.id("firstname_i"));
console.log(await firstNField.isPresent());
await firstNField.sendKeys('firstN');
console.log(firstNField.getAttribute('value'))
});
旧答案:非异步/等待你能试试这个,让我知道它是怎么回事吗?
browser.waitForAngularEnabled(false);
browser.switchTo().frame(element(by.id("NavBarGloablQuickCreate")).getWebElement());
browser.driver.sleep(1000);
element(by.id('firstname_i')).sendKeys('Indra');
browser.driver.sleep(1000);
推荐阅读
- sql - hive 1.2 sql 返回意外的特殊字符
- python - Python 在每一行中查找匹配的字符串
- windows - 如何在aws EC2上将jar文件安排为事件
- android - 类描述符 'Landroid/support/customtabs/ICustomTabsCallback/;' 不能用dex格式表示
- regex - 使用 bash 命令在每一行的开头添加一个命令
- php - 使用数组键按名称对数组进行排序
- html - 适合内容的背景颜色
标签
- c# - C# Visual Studio IDE
- android - 从android中的webview获取点击事件
- java - Java Scripting API (JSR223) groovy 语言限制