Tom*_*Tom 17 testing ubuntu selenium-ide recording selenium-rc
我想设置一个Selenium服务器,以便客户端可以在本地记录测试,记录的测试可以在使用Firefox + Chrome的Ubuntu服务器上重播和测试.
不幸的是,Selenium网站太混乱了,提到了很多不同的项目(Selenium 1,Selenium 2,Selenium RC,Selenium Grid),我不知道从哪里开始.
如何在Ubuntu盒子上设置Selenium Server?
A.J*_*A.J 22
不幸的是,Selenium网站太混乱了,提到了很多不同的项目(Selenium 1,Selenium 2,Selenium RC,Selenium Grid),我不知道从哪里开始.
Selenium有多个版本
IDE - 主要用于记录测试并播放.它主要是一个Firefox Addon.这可以用于非常基本的测试.您还可以将记录的测试导出到selenium RC.所有这些都在seleniumhq.org-> documentation部分提到:http://docs.seleniumhq.org/docs/
RC - 与任何其他自动化工具一样,您可以编写自己的代码来运行测试,而不仅仅是录制和播放.这比IDE具有更好的功能,包括支持多种语言(Java,Javascript,Ruby,PHP,Python,Perl和C#),并支持几乎所有平台上的每个浏览器.
网格 - 这有助于并行运行多个测试.
要在Firefox(非CHROME)中记录和运行测试,这非常简单.这不需要运行selenium服务器.
记录整个测试
将其保存在文件中
将文件复制到Ubuntu机器
在Ubuntu机器上使用IDE打开相同的测试,然后在firefox中再次运行它
如果你想在chrome上运行,那么你需要使用selenium RC进入下一级别.这需要运行selenium服务器.
如何在Ubuntu框上设置Selenium Server
从这里下载selenium-server jar .将其复制到ubuntu服务器中的任何目录
打开终端并导航到具有selenium服务器jar的文件夹.
输入 java -jar selenium-server-jarfilename.jar
默认情况下,Selenium服务器将在端口4444上启动并继续监听测试.
该网站在版本控制和名称方面令人困惑.Selenium是整个项目的名称,起初是Selenium RC(遥控器).Selenium RC是API的旧版本,有时也称为Selenium 1. Selenium 2是最新版本,最新版本是上周发布的Selenium RC2(候选版本).这使用了与Selenium RC不同的API.新API称为WebDriver.新的API仍然允许您访问旧的Selenium RC,但仅用于向后兼容.
从您现在开始,您没有理由使用Selenium RC API.您应该使用属于WebDriver 的高级用户交互.设置的webdriver是很容易的,并有上有一个不错的指南在这里.您应该注意,那里使用的API是使用WebElements的旧标准(2.0 beta).新API(高级用户交互)将操作与它们执行的元素分离开来.我建议您使用最新版本的API,而不是旧的已弃用版本.
既然你想在本地完成所有这些,那么我给你的第二个链接应该足以让你运行起来.假设您将要使用Java绑定,它就像下面这样简单:
public class Selenium2Example {
public static void main(String[] args) {
// Create a new instance of the Firefox driver
// Notice that the remainder of the code relies on the interface,
// not the implementation.
WebDriver driver = new FirefoxDriver();
// And now use this to visit Google
driver.get("http://www.google.com");
Actions builder = new Actions( driver );
builder.sendKeys( driver.findElement( By.name("q") ), "Cheese!" );
Action action = builder.build();
action.perform();
//Close the browser
driver.quit();
}
}
Run Code Online (Sandbox Code Playgroud)
这是编辑为使用高级用户交互的示例代码.