Selenium简明使用手册(二)——运行TestRunner

2019-04-14 15:49发布

Selenium安装好之后,我们可以运行Selenium来测试我们的WebApp了。
在Selenium的根目录下,有两个名字为TestRunner但后缀名不一样的文件:

1.TestRunner.hta
2.TestRunner.html

TestRunner.hta
用文本编辑器打开TestRunner.hta文件,你会发现其实,这个文件的内容与TestRunner.html的文件是一模一样的。
Hta是Windows上独有的一种文件。通过它的全名HTML Applications,你就明白了它的来龙去脉了。使用hta文件运行Selenium最大的好处就是它克服了javascript的cross-site访问问题,可以对发布载任何服务器上的Web APP进行测试。但是,使用hta有两个问题:
1.Hta程序的运行方式与html文件有一些细微的差别(前者由mshta.exe运行,后者被iexplorer.exe运行),导致个别命令在两种方式下运行得到的结果不一样;
2.因为安全问题,Hta方式在未来的windows版本不再被支持;

所以为了克服cross-site访问问题,我们还得寻找其他方法:
1.Twisted-server:这是用python写的一个独立http server。通过配置一个用cgiproxy类库开发的脚本,我们可以客户cross-site问题。这种方式的缺点有三个:
  a)安装和配置十分复杂;
  b)因为以代理方式来访问被测程序以及程序的实现问题,页面的访问速度比较慢;
  c)目前的版本对于页面中URL的转化有问题,会出现个别页面仍然存在CROSS-SITE访问限制的问题;
2.Selenium Recorder预演使用的方式。关于这种方式的原理目前还不清楚,打算花一些时间来搞清楚;
3.最直接克服cross-site访问问题的方式就是将Selenium的源代码直接安装在WebApp所在的Server上。我们可以通过浏览器传递给TestRunner.html一些参数来控制TestRunner的行为(假设你访问Selenium使用的url是http://localhost/selenium/TestRunner.html):test
a)例子:http://localhost/selenium/TestRunner.html?test=myTestSuite.html;b)说明:本参数用来指定TestRunner在启动时要载入的Test Suite。Selenium默认载入位于目录tests下的TestSuite.html文件。赋给test参数的值应该是自己编写的Test Suite html文件相对于TestRunner.html的路径;
auto
a)例子:http://localhost/selenium/TestRunner.html?auto=true;b)说明:本参数指示TestRunner.html被载入后立即开始执行所有的Test Case。默认auto的值为false;
resultsUrl
a)例子:http://localhost/selenium/TestRunner.html?auto=true&resultsUrl=myResult.asp;b)说明:本参数指定在自动运行模式下处理测试结果的脚本文件的路径。Selenium默认使用/postResults去处理结果。通常,本参数与auto=true一起使用。