Selenium 自动化测试(二)部署Selenium Remote Control(Selenium RC)
2015-12-16 17:07
555 查看
Selenium 是 thoughtworks公司的一个集成测试的强大工具,在上一篇文章介绍了Selenium IDE,现在来说说Selenium Remote Control。Selenium Remote Control包含2个部分,一个是Selenium Server,负责提供自动化测试服务,另一部分是Selenium Client,负责执行脚本,可使用Java、C#,以及PHP等编程语言实现。
java -jar selenium-server-standalone-2.43.0.jar
如果要查看使用帮助,可以使用-help参数,列出Selenium Server的参数列表。
OK,Selenium Server启动之后,我们来部署.Net的环境。
![](https://img-blog.csdn.net/20151216155557973?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在上一篇文章中,我使用了Selenium IDE录制了网页操作的脚本,这样,可以直接引用到代码当中。
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Selenium;
namespace _37GameAutoTest_U
{
[TestClass]
public class UnitTest1
{
static void Main(string[] argv)
{
UnitTest1.Pay_37_com_order();
}
[TestMethod]
public static void Pay_37_com_order()
{
Console.WriteLine("start!");
Selenium.ISelenium selenium=new Selenium.DefaultSelenium("127.0.0.1", 4444, @"*firefox D:\Program Files (x86)\Firefox\firefox.exe", @"http://pay.37.com");
selenium.Start();
selenium.Open("/");
selenium.Click("id=main_select_game");
selenium.Click("id=game_237");
selenium.Type("id=alert_server_fastin", "3000");
selenium.Click("id=alert_btn_fastin");
selenium.Type("id=username", "lizhibin205");
selenium.Click("id=define_user");
selenium.Click("id=money_0");
selenium.Click("id=bank_25_ICBCB2C");
selenium.Click("id=pay_submit");
selenium.Click("id=confirm_submit");
selenium.Stop();
//完成一次提交订单操作
}
}
}
总结:完成了简单的自动化脚本测试,但是,自动化生成的脚本,在某些情况下存在一些问题。比如,某些DOM在ajax结束后动态添加,会导致在脚本测试中找不到对应ID而导致抛出异常。
一)Selenium Server
Selenium Server本质是由Java开发的,要启动Selenium Server,电脑上必须先配置Java的运行环境。启动它非常简单:java -jar selenium-server-standalone-2.43.0.jar
如果要查看使用帮助,可以使用-help参数,列出Selenium Server的参数列表。
OK,Selenium Server启动之后,我们来部署.Net的环境。
二)Selenium RC for .net
下载selenium-dotnet-2.48.0开发包,解压后有2个文件夹,net35和net40,说明Selenium for .Net至少要运行在3.5版本的.Net环境下,一般安装了Visual Studio 2010以上的版本已经是支持4.0的了。我使用的是Visual Studio 2012版本。启动Visual Studio后,新建一个Unit Test工程,并把net40目录里的dll,添加到工程中。在上一篇文章中,我使用了Selenium IDE录制了网页操作的脚本,这样,可以直接引用到代码当中。
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Selenium;
namespace _37GameAutoTest_U
{
[TestClass]
public class UnitTest1
{
static void Main(string[] argv)
{
UnitTest1.Pay_37_com_order();
}
[TestMethod]
public static void Pay_37_com_order()
{
Console.WriteLine("start!");
Selenium.ISelenium selenium=new Selenium.DefaultSelenium("127.0.0.1", 4444, @"*firefox D:\Program Files (x86)\Firefox\firefox.exe", @"http://pay.37.com");
selenium.Start();
selenium.Open("/");
selenium.Click("id=main_select_game");
selenium.Click("id=game_237");
selenium.Type("id=alert_server_fastin", "3000");
selenium.Click("id=alert_btn_fastin");
selenium.Type("id=username", "lizhibin205");
selenium.Click("id=define_user");
selenium.Click("id=money_0");
selenium.Click("id=bank_25_ICBCB2C");
selenium.Click("id=pay_submit");
selenium.Click("id=confirm_submit");
selenium.Stop();
//完成一次提交订单操作
}
}
}
总结:完成了简单的自动化脚本测试,但是,自动化生成的脚本,在某些情况下存在一些问题。比如,某些DOM在ajax结束后动态添加,会导致在脚本测试中找不到对应ID而导致抛出异常。
相关文章推荐
- Tomcat7 Websocket入门贴
- python中os.system()的返回值
- lr回放提示The default result directory is locked
- ssh key建立后不能clone问题
- 【学习笔记javascript设计模式与开发实践(代理模式)----6】
- Xcode编译Undefined symbols for architecture xxx 错误总结
- [easyUI] textbox的disabled属性和disable方法
- Zoho的5大客户关怀法
- Mysql 权限
- Android全屏设置
- Java获得硬盘和主板的序列号代码
- 如何设置 状态栏的 上的字体颜色
- POJ 2955 区间dp
- POJ 3422:Kaka's Matrix Travels
- 推荐一些顶级的Android开发书籍(转)
- 强烈推荐android studio用的几个插件,androidstudio
- hdoj--2282--Chocolate(最小费用)
- java普通接口编写
- ORA-14411: 该 DDL 不能与其他 DDL 并行运行
- android 自定义dialog弹出和消失动画