我正在尝试整理我的第一个数据驱动测试框架,该框架通过Selenium Grid / WebDriver在多个浏览器上运行测试。现在,我在自己的类中拥有每个测试用例,并且对浏览器进行了参数设置,因此它在每个浏览器中都运行一次每个测试用例。
在大型测试框架上常见吗?还是应该将每个测试用例复制并微调到其各自类中的每个浏览器?因此,如果我正在测试chrome,firefox和IE,是否应该为每个类提供类,例如:“ TestCase1Chrome”,“ TestCase1FireFox”,“ TestCase1IE”?还是只是“ TestCase1”并配置测试以使其在每个浏览器中运行3次?只是想知道别人是怎么做到的。
将每个测试用例的测试参数化为一个类,可以更轻松地维护非浏览器特定的代码,而针对每个浏览器用例重复一个类,则可以更轻松地维护特定于浏览器的代码。例如,当我说浏览器特定的代码时,单击一个项目。在ChromeDriver上,您不能单击某些元素的中间,而在FirefoxDriver上则可以。因此,您可能仅需要两个不同的代码块来单击一个元素(当它在中间不可单击时)。
对于那些雇用Selenium的QA工程师的人来说,什么是最佳实践?
我目前正在从事一个项目,每天要进行大约75,000到90k的测试。我们将浏览器作为参数传递给测试。原因是:
我看到的代码结构与您提到的代码结构之间的区别是,我没有每个测试用例的测试类。测试根据我测试的功能进行划分,每个功能都有一个类。该类将所有测试作为方法保存。我使用testNG以便可以并行调用这些方法。可能这不适合您的AUT。