我正在编写一个小脚本,使用页面对象模型在amazon上测试页面。这是很容易的,如果我只测试美国网站。我只需导航到petsupply页面,在那里我将添加更多方法来执行搜索、 checkout 和其他操作。但是亚马逊有多个国家拥有自己版本的同一petsupply页面(不同的元素和XPath)。我想为至少2个或更多的国家(例如澳大利亚和加拿大)做相同的测试,而不为每个国家编写新的脚本。这意味着我需要参数化国家和语言,并根据指定的位置执行操作。
这是我第一次使用这个网站,请原谅我说了很多话。另外,我在这里附上了我的代码片段和存储库。https://github.com/ultrabeep/sampleamazon.git (任何人都可以根据您的意愿进行增强和更改)。我将不胜感激。非常感谢。
eclipse截图
1条答案
按热度按时间zvokhttg1#
您可以创建一个系统属性,如下所示
在运行时配置中,您可以通过
-Dcukes.country
价值在配置中,根据国家名称创建属性文件。
并在传递url之前在驱动程序类中提及。
对于公共元素,您可以像往常一样管理它,但对于不同的元素,您可能需要编写switch case语句,在switch中您需要传递的地方
cukes.country
值,并且在每个国家/地区声明中,您可以对这些特定于国家/地区的元素调用特定于国家/地区的方法。