【发布时间】:2019-02-18 14:31:39
【问题描述】:
我是自动化新手,我想在机器人框架中进行跨浏览器测试。我可以在浏览器管理文件中添加什么方法,以便我的测试用例在多个浏览器中运行https://github.com/MarkusBernhardt/robotframework-selenium2library-java/blob/master/src/main/java/com/github/markusbernhardt/selenium2library/keywords/BrowserManagement.java
谢谢,非常感谢您的帮助!
【问题讨论】:
-
请详细说明“以便我的测试用例在多个浏览器中运行”的确切含义。您想在 Chrome 上运行一次测试,然后在 Firefox 上运行测试,等等?或者-这确实推动了它很多,并且基于您问题中的github链接:)-您希望您的测试同时在Chrome、Firefox、Edge等上执行?后者肯定是一个新颖的想法,但需要在库中进行根本性更改:)。或者,你要追究我无法从你的问题中推断出的第三件事?
-
感谢您的回复!理想情况下,我想让第二个选项起作用。但是我在想第一个选项的最佳方法是什么 - 依次为多个浏览器运行测试用例?
-
关键字
Open Browser将浏览器名称作为参数;因此,在一次运行中,您将传递“Chrome”,然后在下面 - 将其更改为“Firefox”,依此类推。 -
这就是我正在做的事情,并将其放在每个浏览器的循环中。我只是想确定是否有任何其他最佳方法可以做到这一点。就像重写浏览器管理类并通过 JRE 参数将浏览器列表作为连接字符串传递一样。这是我不必在每个测试用例中编写浏览器循环。
-
看来你做的太复杂了;一种最佳方法是让测试用例实现您正在测试的内容,然后 - 使用不同的浏览器开始不同的运行。这具有额外的好处,即所有案例都将在所有浏览器中运行 - 在您所描述的情况下,如果循环在 3 个浏览器上,并且第一个失败,那么其他 2 个将不会运行,对吗? (也就是说,除非你采取了特殊的预防措施,例如额外的开销)你想让我为你写一个“套件运行每个浏览器”方法的示例吗?
标签: cross-browser robotframework