什么是webdriver中的$$和$以及如何在JS应用程序中使用它?

时间:2018-01-30 07:10:56

标签: javascript selenium selenium-webdriver webdriver cucumber

根据webdriver docs
With the $ and $$ functions WebdriverIO provides useful shortcuts which can also be chained in order to move deeper in the DOM tree without using complex xPath selectors.

但是我在尝试使用web驱动程序和chai为flowjs应用程序编写cucumber测试我的reactjs, 我有这样的UI,我需要用按钮文本/值来测试所有按钮的存在。这是设计 enter image description here

这是我试过的

const links = $$('.button').filter(function(link) {
  return link.isVisible();
});
const button1_value = links[0].getText();
const button2_value = links[1].getText();
expect(button1_value).to.equal('button1');
expect(button2_value).to.equal('button2');

但我在$$收到以下错误, enter image description here

是否有任何替代方法可以获取按钮列表并进行测试。

我是否必须导入$$$才能在js个文件中使用。

1 个答案:

答案 0 :(得分:0)

得到它,我们可以$$使用$browser

ex:const links = await browser.$$(selector);

但要获得按钮的内容/值,我就跟着这个。

const links = await browser.getText('.button');
expect(links[0]).to.equal('button1');
expect(links[1]).to.equal('button2');