我只是想从运行Selenium(http://selenium.openqa.org)的人们那里获得一些意见,我在WaTiN上有很多经验,甚至为此编写了一个录音套件。我让它产生一些结构良好的代码,但仅由我自己维护,似乎我的公司几乎放弃了它。
如果您使用过selenium,您是否取得了很多成功?
我将使用.NET 3.5,Selenium是否可以正常使用?
代码是干净的还是仅仅是所有交互的列表?(http://blogs.conchango.com/richardgriffin/archive/2006/11/14/Testing-
Design-Pattern-for-using-
WATiR_2F00_N.aspx
)
分布式测试套件的公平程度如何?
系统上的任何其他困扰或赞美将不胜感激!
如果您正在使用Selenium IDE生成代码,则只需获取selenium将执行的每个动作的列表。对我来说,Selenium
IDE是启动或进行快速的“尝试一下”测试的好方法。但是,当您考虑可维护性和可读性更高的代码时,必须编写自己的代码。
实现良好的硒代码的一种好方法是使用页面对象模式,使代码代表您的导航流程。这是我在Coding
Dojo Floripa(来自巴西)中看到的一个很好的例子:
public class GoogleTest {
private Selenium selenium;
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444, "*firefox",
"http://www.google.com/webhp?hl=en");
selenium.start();
}
@Test
public void codingDojoShouldBeInFirstPageOfResults() {
GoogleHomePage home = new GoogleHomePage(selenium);
GoogleSearchResults searchResults = home.searchFor("coding dojo");
String firstEntry = searchResults.getResult(0);
assertEquals("Coding Dojo Wiki: FrontPage", firstEntry);
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
}
public class GoogleHomePage {
private final Selenium selenium;
public GoogleHomePage(Selenium selenium) {
this.selenium = selenium;
this.selenium.open("http://www.google.com/webhp?hl=en");
if (!"Google".equals(selenium.getTitle())) {
throw new IllegalStateException("Not the Google Home Page");
}
}
public GoogleSearchResults searchFor(String string) {
selenium.type("q", string);
selenium.click("btnG");
selenium.waitForPageToLoad("5000");
return new GoogleSearchResults(string, selenium);
}
}
public class GoogleSearchResults {
private final Selenium selenium;
public GoogleSearchResults(String string, Selenium selenium) {
this.selenium = selenium;
if (!(string + " - Google Search").equals(selenium.getTitle())) {
throw new IllegalStateException(
"This is not the Google Results Page");
}
}
public String getResult(int i) {
String nameXPath = "xpath=id('res')/div[1]/div[" + (i + 1) + "]/h2/a";
return selenium.getText(nameXPath);
}
}
希望有帮助
介绍 正如你在 Selenium 项目简史里读到的,Selenium RC 在很长一段时间内都是 Selenium 的主要项目,直到 WebDriver/Selenium 合并而产生了最新和最强大的 Selenium 2。 Selenium 仍然被活跃的支持(大部分是维护工作),并且提供了一些 Selenium 2 短期不会支持的特性,包括支持多语言 (Java, Javascript, Ruby
是否有一种方法可以使用Selenium Grid来执行位于远程节点机器上的批处理文件以更改主机文件? VM1包含代码,并充当中心VM2运行Chrome节点VM3运行火狐节点VM4运行IE节点 每个VM上都存在一组批处理文件,但是,按原样运行时,只有VM1执行批处理文件。如何告诉Selenium在正确的节点上执行批处理文件? FWIW,我现在通过詹金斯执行任务。 最初编写代码时,我只是通过Eclip
本文向大家介绍python Selenium实现付费音乐批量下载的实现方法,包括了python Selenium实现付费音乐批量下载的实现方法的使用技巧和注意事项,需要的朋友参考一下 必备环境 废话 每年回家都要帮我爸下些音乐,这对我来说都是轻车熟路!可当我打开网易云点击下载按钮的时候,可惜已物是人非啦! 开个 VIP 其实也不贵,临时用用也就¥15!但 IT 男的尊严必须要有,于是开始徜徉于搜索
问题内容: 我已经使用Cucumber和Webrat已有一段时间了。现在,我需要开始编写涉及AJAX交互的行为,因此我正在考虑将Selenium适配器用于Webrat。谁能指出安装和配置selenium + webrat + cucumber的简便且更新的分步指南?我希望能够将javascript方案与非javascript方案混合使用。 问题答案: 我在项目上将Selenium与rspec结合使
更改历史 * 2017-11-12 张会美 初始化文档 1 历史、现状和发展 Jason Huggins在2004年发起了Selenium项目,当时身处ThoughtWorks的他,为了不想让自己的时间浪费在无聊的重复性工作中,幸运的是,所有被测试的浏览器都支持Javascript。Jason和他所在的团队采用Javascript编写一种测试工具来验证浏览器页面的行为;这个Java
Selenium (SeleniumHQ) 是 thoughtworks公司的一个集成测试的强大工具。 一、Selenium 的版本 Selenium 现在存在2个版本,一个叫 selenium-core, 一个叫selenium-rc 。 selenium-core 是使用HTML的方式来编写测试脚本,你也可以使用 Selenium-IDE来录制脚本,但是目前Selenium-IDE只有 Fir