小编典典

我们可以使用IIS而不是Visual Studio Development服务器运行Selenium WebDriver测试用例

selenium

我正在使用Selenium 2 WebDriver。由于以下原因,我从网站启动了它而不是UnitTest项目:

  1. 它应该每24小时自动运行一次。我已经使用System.Threading编写了一些调度代码。
  2. 提供一些用户界面,以便客户在需要时进行中间运行。
  3. 每次运行时,都会将电子邮件作为测试结果的一部分发送。

我的目标网站是:http :
//www.vroomvroomvroom.com.au

我创建了一个包含所有selenium代码的类。我在加载default.aspx页面时使用System.Threading调用该类。

当我通过按F5或Ctrl + F5从Visual Studio运行default.aspx时,即使用Visual
Studio开发服务器(例如)时,它运行良好http://localhost:3251/default.aspx

但是,当我尝试使用默认端口(80)例如直接从IIS直接运行IIS时,http://localhost/seleniumTest/default.aspx它将失败,并显示以下错误:

  1. 它扩展了Selenium代码,但没有显示浏览器。
  2. 经过一些步骤后失败 No response from server for url http://localhost:7094/hub/session/4bbe4b0c-aeee-4fa3-8bc0-aae47c6869af/element

有可能我正在努力实现。

仅供参考:如果需要更多详细信息,请告诉我。


阅读 338

收藏
2020-06-26

共1个答案

小编典典

我设法自己找到了解决方案。

基本上,必须使用RemoteWebDriver代替FirefoxDriver。脚步:

  1. 将FirefoxDriver的初始化更改为RemoteWebDriver,如下所示:

IWebDriver driver = new FirefoxDriver();

DesiredCapabilities capability = DesiredCapabilities.Firefox();
Uri url = new Uri("http://REMOTE_IP:4545/wd/hub");
IWebDriver driver = new RemoteWebDriver(url, capability);

2.下载Selenium Standalone服务器,并使用〜在命令提示符下启动它

java -jar E:\Software\selenium-server-standalone-2.24.1.jar -interactive -port 4545

这种方法有两个好处:

  1. 可以使用本地IIS运行测试。
  2. 测试可以远程运行。请参阅Selenium RC文档。可以使用远程查看屏幕截图

REMOTE_IP:4545 / wd / hub / static / resource / hub.html

我正在考虑修改其中使用的hub.html和client.js文件的代码,以提供更好的远程感觉。

我希望这对其他人也有用。

仅供参考:

  1. IP地址REMOTE_IP可以更改为任何实时IP地址或本地主机。启动页面请求时,请使用上述端口。
  2. 测试中可以安装Standalone Server的启动/停止代码,以便通过批处理文件自动启动/停止。
  3. 通过不关闭命令提示符来保持服务器运行。
2020-06-26