一种点击量角器端到端测试中隐藏元素的方法

Ian*_*rds 9 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');
    });
});
Run Code Online (Sandbox Code Playgroud)

当菜单项不可见时,或者我们目前是否受此限制.如果这是不可能的,目前有办法解决这个问题.

Ian*_*rds 10

好吧经过漫长而痛苦的搜索,试图找到这个问题的答案,我终于遇到了试图回答另一个问题的答案.

我发现的大多数文档都说明我们必须以WebElement的形式使用Actions,然后将其转换为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);
});
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,没有使用webelement而且不需要强制转换.

以下是帮助我寻找答案的来源

如何点击使用Selenium Webdriver隐藏的元素?

SELENIUM WEBDRIVER - 如何点击隐藏链接或菜单

Selenium WebDriver - 隐藏选择和锚[重复]