当前位置: 首页 > 面试题库 >

多个浏览器上的Selenium Grid:每个测试用例是否应为每个浏览器具有单独的类?

嵇丰
2023-03-14
问题内容

我正在尝试整理我的第一个数据驱动测试框架,该框架通过Selenium Grid /
WebDriver在多个浏览器上运行测试。现在,我在自己的类中拥有每个测试用例,并且对浏览器进行了参数设置,因此它在每个浏览器中都运行一次每个测试用例。

在大型测试框架上常见吗?还是应该将每个测试用例复制并微调到其各自类中的每个浏览器?因此,如果我正在测试chrome,firefox和IE,是否应该为每个类提供类,例如:“
TestCase1Chrome”,“ TestCase1FireFox”,“ TestCase1IE”?还是只是“
TestCase1”并配置测试以使其在每个浏览器中运行3次?只是想知道别人是怎么做到的。

将每个测试用例的测试参数化为一个类,可以更轻松地维护非浏览器特定的代码,而针对每个浏览器用例重复一个类,则可以更轻松地维护特定于浏览器的代码。例如,当我说浏览器特定的代码时,单击一个项目。在ChromeDriver上,您不能单击某些元素的中间,而在FirefoxDriver上则可以。因此,您可能仅需要两个不同的代码块来单击一个元素(当它在中间不可单击时)。

对于那些雇用Selenium的QA工程师的人来说,什么是最佳实践?


问题答案:

我目前正在从事一个项目,每天要进行大约75,000到90k的测试。我们将浏览器作为参数传递给测试。原因是:

  1. 正如您在问题中提到的那样,这有助于维护。
  2. 我们看不到太多特定于浏览器的代码。如果您有太多特定于浏览器的代码,那么我会说webdriver本身存在问题。因为,selenium / webdriver的优点之一是只编写一次代码,然后在任何受支持的浏览器上运行它。

我看到的代码结构与您提到的代码结构之间的区别是,我没有每个测试用例的测试类。测试根据我测试的功能进行划分,每个功能都有一个类。该类将所有测试作为方法保存。我使用testNG以便可以并行调用这些方法。可能这不适合您的AUT。



 类似资料:
  • 问题内容: 有没有办法为特定的浏览器加载不同的CSS文件? 像(伪代码差): 问题答案: 您想要的理想解决方案不存在: 不幸的是,如果您尝试在HTML本身上进行操作,则不存在跨浏览器解决方案。但是,它将适用于大多数版本的IE。像这样: 所以最好的解决方案是: 这样的Javascript解决方案怎么样:浏览器检测。阅读有关此类的内容以更好地弄清该文件的基本作用,就是这样的概念: 显然,它不仅可以检测

  • 我试图在浏览器堆栈上运行多个浏览器上的E2E测试,我参考了在量角器中的多个/并行浏览器上的E2E测试?和Internet Explorer Selenium量角器e2e测试 但每次我试着运行测试时都会犯错- 谁能告诉我什么是我做错了这里,而且我们使用gulp ti运行规范,但我的问题是它是说,甚至没有超出认证。

  • SeleniumJava-如何登录一次并使用相同的浏览器实例运行多个测试用例,而不是为每个测试打开/关闭浏览器。 有没有一种方法可以通过只打开浏览器的一个实例来运行所有的测试(回归),比如:登录一次,并在其余的测试用例中继续使用相同的实例。 我不想关闭每个测试用例的浏览器,然后重新打开新浏览器并再次登录以进行新测试。

  • 问题内容: 我是硒测试的新手。我想针对Internet Explorer,Firefox,Opera和Chrome在多种浏览器上运行。我必须遵循什么方法。大家能否建议我这是最好的过程。 硒Web驱动程序是否支持多种浏览器??? 我们已经编写了登录脚本。它可以分别在Firefox,Chrome和Internet Explorer中成功运行。但我想按顺序为那些多个浏览器运行它。 问题答案: 在此之前,

  • 我正在探索硒网格,用于在多个浏览器上执行测试。我已经按照在线教程配置了集线器和节点。我已经创建了一个测试脚本。 这是测试脚本的代码: 我的目标是在多个浏览器上运行此测试,我已经添加了所需的功能,如火狐, 感谢任何帮助