加快C#/Selenium测试
本文关键字:测试 Selenium 加快 | 更新日期: 2023-09-27 18:25:00
我们使用与C#集成的Selenium来进行web应用程序测试。我注意到的问题是,与其他Selenium+[代码]组合相比,Selenium+C#的速度慢得令人难以置信。
这只是一个简单的"登录,然后退出我们的网络应用程序"测试。
- 0:04-Firefox中的Selenium IDE
- 0:05--Selenium WD+Python,仅限测试
- 0:09--Selenium WD+Python,总运行
- 0:11--Selenium WD+C#通过Visual Studio>调试,仅限测试
- 0:20--Selenium WD+C#通过Visual Studio>调试,全部运行
- 0:25-硒WD+C#+NUnit,仅测试
- 0:35--Selenium WD+C#+NUnit,总运行
- 0:37——Selenium WD+C#+NUnit通过Jenkins,仅测试
- 0:56--Selenium WD+C#+NUnit通过Jenkins,总运行
我该怎么看才能让这件事不那么慢呢?
可能您正在x64系统上运行测试。如果是这样,您应该使用x64 WebDriver。
如果您正在运行.NET Core,那么您遇到了一个已知的错误。
在IISExpress和测试uri中切换到127.0.0.1
可以缓解这些问题。
您可能会看到Selenium运行非常缓慢(C#)。
您可以在ChromeDriver上设置一个选项来加快测试速度。
var options = new ChromeOptions();
options.AddArguments("headless");
var driver = new ChromeDriver("path", options);
headless选项在后台系统中运行驱动程序,不显示GUI
这个链接给你更多关于无头的描述。
这里有很多因素在起作用,但根据我的经验,c#+硒是我使用过的最快的之一。
这里有一些你可以尝试的东西:
- 如果您正在对测试进行并行化,请减少一次运行的测试数量。它确实限制了性能,有时还会影响测试的完整性
- 代码清理。我得到了一个测试暴力登录的工具,但它几乎无法达到阈值(在X秒内20次)。我重新安排、重新使用、重新集中了一些功能,我们在不到30秒内就达到了门槛。这也帮助我运行了更多的并行测试
- 如果您在RDC上运行它,请检查网络性能、安全性等