Javascript 如何使用“切换”属性单击下拉列表
但这不会点击下拉列表,我的测试也不会失败。。。我不知道它出了什么问题 我还尝试通过以下方式更改定位器:Javascript 如何使用“切换”属性单击下拉列表,javascript,selenium,testing,automation,protractor,Javascript,Selenium,Testing,Automation,Protractor,但这不会点击下拉列表,我的测试也不会失败。。。我不知道它出了什么问题 我还尝试通过以下方式更改定位器:元素(by.css('a.dropdown-toggle')或元素(通过.css('[translate=“ZillaMain.Select”]')但它不会在下拉列表中单击 “量角器”中有没有其他方法可以点击下拉列表?我会改进您定位下拉列表的方式(我认为您的定位器一般来说太宽了-在您的页面上下文中可能不太宽,但我没有这样的功能)并将定位器指向具有适当等待条件的执行可靠性的元素: 我们之所以使用这
元素(by.css('a.dropdown-toggle')
或元素(通过.css('[translate=“ZillaMain.Select”]')代码>但它不会在下拉列表中单击
“量角器”中有没有其他方法可以点击下拉列表?我会改进您定位下拉列表的方式(我认为您的定位器一般来说太宽了-在您的页面上下文中可能不太宽,但我没有这样的功能)并将定位器指向具有适当等待条件的执行可靠性的元素:
我们之所以使用这种XPath表达式,是因为我们不仅要针对任何下拉切换链接,还要针对“身份验证”标签后面的链接。我通过以下更改实现了这一点:
var authDropdown = element(by.xpath("//label[. = 'Authentication']/following::label[@class = 'dropdown']/a"));
var EC = protractor.ExpectedConditions;
browser.wait(EC.elementToBeClickable(authDropdown), 5000);
authDropdown.click();
我尝试了上述更改,但仍然无法单击下拉列表。不,我没有收到任何错误。此下拉列表位于“我的应用程序测试”的登录页上,在authDropdown中不会失败。单击()代码>步骤,但它不会登录,因为没有单击下拉列表,也没有从下拉列表中选择选项。@soniasharma好的,快速提问-如果执行browser.executeScript(“参数[0]。单击();”,authDropdown),会发生什么情况代码>?仍然相同的问题下拉列表没有被单击,也不会登录。只是出于好奇,我想知道它是否会。即使元素没有与其关联的ng click
属性,click()
也会工作。正如您在上面的代码中所看到的,没有与下拉列表关联的ng click
属性。这就是下拉列表未被单击的原因吗?
this.AuthDD = element(by.css('[on-toggle="toggled(open)"]'));
AuthDD.click();
var authDropdown = element(by.xpath("//label[. = 'Authentication']/following::label[@class = 'dropdown']/a"));
var EC = protractor.ExpectedConditions;
browser.wait(EC.elementToBeClickable(authDropdown), 5000);
authDropdown.click();
this.AuthDD = element(by.css('i.angle-down-icon'));
AuthDD.click();