51Testing软件测试论坛

标题: selenium Visual Studio 中如何引入Action [打印本页]

作者: hellen_jia    时间: 2015-12-28 18:50
标题: selenium Visual Studio 中如何引入Action
本帖最后由 hellen_jia 于 2015-12-28 18:57 编辑

大家好,我最近在学习selenium,发现一些定位问题。然后现在想用一种变通的方式,就是键盘操作来找到一些元素。

看到一些帖子说可以引用import org.openqa.selenium.interactions.Actions; 然后就可以用下面的code为driver 加载actions了。
Actions ac = new Actions(driver);  // 为driver 加载 actions

我当前用的是visual studio 2012,install了很多reference,加入了以下引用在.cs文件中。可是当我想为driver加载actions的时候会报错,请大家参照附件截图。请问一下是不是我缺少了某种using(是using OpenQA.Selenium.Interactions.Actions吗? 如果是的话,需要在refrence中安装什么引用,才能加入它呢?
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium.Interactions.Internal;


IWebDriver driver = new FirefoxDriver();
Action action = new Action(driver);  // 为driver 加载 actions
Error:
'driver' is a 'variable' but is used like a 'method'







作者: hellen_jia    时间: 2015-12-29 09:27
请大神尽快帮忙解答
作者: zhanguser    时间: 2015-12-29 11:00
只是知道可以执行js  通过js来取到元素 键盘动作的真没用过
作者: @吕小布    时间: 2015-12-29 11:44
我们创建一个测试使用 Ctrl 按键来选择表格癿多个行。我们可以先选择第一行,然后按住
ctrl 键,再选择另一行后释放 ctrl 键。 返样就可以选择所需要癿行。
@Test
public void testRowSelectionUsingControlKey() {
List<WebElement> tableRows = driver.findElements
(By.xpath("//table[@class='iceDatTbl']/tbody/tr"));
//Select second and fourth row from table using Control Key.
//Row Index start at 0
Actions builder = new Actions(driver);
builder.click(tableRows.get(1))
.keyDown(Keys.CONTROL)
.click(tableRows.get(3))
.keyUp(Keys.CONTROL)
.build().perform();
//Verify Selected Row table shows two rows selected
List<WebElement> rows = driver.findElements
(By.xpath("//div[@class='icePnlGrp
exampleBox']/table[@class='iceDatTbl']/tbody/tr"));
assertEquals(2,rows.size());
}

这个是一个使用Actions选择多行数据的例子,你看看,希望对你有帮助




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2