使用Python在服务器集群上运行Selenium测试

0 投票
2 回答
649 浏览
提问于 2025-04-17 07:52

我想用Python在一个有大约50台网页服务器的服务器群上运行selenium测试。我之前的做法是修改我的hosts文件(在 /etc/hosts 里),切换到想要测试的服务器,然后运行我的selenium测试。这个手动的过程有点麻烦。有没有更好的方法可以更快地测试这些服务器呢?

我考虑过使用selenium grid来并行运行这些测试,但找不到用Python的实际例子。selenium grid的演示有点模糊,而且大多数例子都是用ruby写的。我其实不太在乎是顺序执行(先测试服务器a,再测试服务器b)还是并行执行,虽然并行执行会更好。

我也看过nose,但不太确定这是不是正确的方法。当然,我可以深入研究一下。

我还了解过Sauce,根据我的理解这是一个收费服务,我不想走这条路。

任何建议或方向都会对我很有帮助。

2 个回答

0

使用selenium2(webdriver)这个Python库,改变循环中的服务器地址有没有意义呢?这样的话,它就会按顺序运行。

0

根据我的理解,你正在访问一个同域名但有不同IP地址的服务器。这就是为什么在Selenium中更改网址不太可行,而你需要在hosts文件中进行修改的原因。

如果是这样的话,你可以设置一个小的假DNS服务器,配置你的网络接口使用它,并在里面处理IP地址的变化。这样你就不需要在Selenium中做太多调整了。

这里有一个非常简单的代码示例。不过,这个方法只会解析你服务器的地址,其他的域名就无法访问了。

如果你对Metasploit比较熟悉,可以试试这个DNS代理。它可以解析其他查询,但可能会让你在编程上进行修改以更新你的网站地址时遇到一些困难。

撰写回答