Angularjs 在量角器端到端测试中单击隐藏元素的一种方法
是否有方法单击子菜单中的隐藏值。我希望能够做一些像Angularjs 在量角器端到端测试中单击隐藏元素的一种方法,angularjs,protractor,Angularjs,Protractor,是否有方法单击子菜单中的隐藏值。我希望能够做一些像 driver.findElement(protractor.By.xpath('/html/body/div/div/a')).mouseover.then(function() { ptor.findElement(protractor.By.className('name').getText().then(function(result) { expect(result).toBe('Me'); }); })
driver.findElement(protractor.By.xpath('/html/body/div/div/a')).mouseover.then(function() {
ptor.findElement(protractor.By.className('name').getText().then(function(result) {
expect(result).toBe('Me');
});
});
当菜单项不可见时,或者我们目前仅限于此。如果这是不可能的,那么目前是否有办法解决这个问题。好的,经过漫长而痛苦的搜索,试图找到这个问题的答案,我终于在尝试回答另一个问题时找到了答案 我找到的大多数文档都解释说,我们必须以WebElement的形式使用操作,然后将其转换为Javascript,并通过click操作以数组的形式将脚本元素传递给它 这里也有同样的类型,但有一些修改
describe('', function() {
var ptor = protractor.getInstance();
var driver = ptor.driver;
it('', function() {
var hiddenElement = driver.findElement(protractor.By.yourchosenlocator(''));
driver.executeScript("arguments[0].click()", hiddenElement).then(function() {
expect(whatever).toMatch(whatever);
});
}, 30000);
});
正如您所见,webelement没有使用,也不需要强制转换
以下是帮助我寻找答案的来源
下面的代码适用于我,这是对公认答案的补充 进口声明:
import { browser, by, element } from 'protractor';
代码:
只需将hiddenIcon
更改为元素的id即可
而不是使用
var ptor=pergrator.getInstance();var-driver=ptor.driver
我们也可以使用
浏览器驱动程序
我尝试了许多变体,但都无法实现。我正在执行
driver.executeScript(“参数[0].click()”,元素(by.css('.logout'))
,结果是未知错误:{“errorMessage”:“'undefined'不是函数(计算'arguments[0].click()”)
您使用的是什么版本的量角器?较新的版本可能要求您使用ptor.executeScript或dragrator.executeScript。您能发布代码以便我能看到它并从中帮助您吗?我可以在浏览器上找到它。executeScript
来自文档。我对何时使用ptor
感到有点困惑<代码>驱动程序和浏览器
…有大量的例子似乎有点混淆。这是因为量角器的更新版本。但是我相信它现在非常稳定,所以随着它的成熟,语法应该不会有太大的偏离。
const hiddenElement = element(by.id('hiddenIcon'));
browser.driver.executeScript('arguments[0].click();', hiddenElement.getWebElement());