如何将我的 Java Selenium 测试拆分成单独的 类?
How can I split my Java Selenium tests into separate classes?
我目前的工作是使用 Selenium
2 via Java
in Eclipse
对我们的网页进行 GUI 测试。我一直在尝试以这样一种方式来编写我的测试程序,以便最大限度地增加我可以重用的代码量,因此我现在有很多功能几乎像框架一样的辅助方法。这导致我的测试 class 变得相当臃肿,只有一种方法用作实际测试,其余方法用于测试的实施。
目前我只是 运行 从 Eclipse
开始的测试,我所有的方法都是静态的。
据我所知,有几种不同的方法可以尝试将事情分开:
一种方法是把所有的方法都放在一个class中,我用它作为框架,在写实际测试时扩展它,但我不知道是否有框架在框架中 (Selenium
) 是有道理的。
另一种方法可能是将我的辅助方法变成一个对象,我可以在其中为每个测试使用这些对象之一。我不知道这是否是好的做法,或者它是否会导致问题。这也意味着我必须输入更多才能进行相同数量的测试。
我的主要问题是:
将我的测试 class 拆分为测试 class 和实现 class 的最佳方法是什么?
我所做的是否超出了 Selenium
的预期用途?
最好的做法是为每个网站创建一个page object model UI.That 将帮助您访问网络元素 easily.selenium 提供该功能,您还必须做一些研发工作.
Home_Page.lnk_MyAccount(driver).click();
LogIn_Page.txtbx_UserName(driver).sendKeys("testuser_1");
LogIn_Page.txtbx_Password(driver).sendKeys("Test@123");
并将所有与 selenium 相关的操作放入一个 class.like Action.click(),Action.search(),
或您常用的一组操作中。
接下来是通过 function.let 实现可重用代码 login(usernName,Password)
然后处理 that.and 中的登录代码 你可以在你的其他 places.always 中重用这些代码试试模块化您的实施。
我目前的工作是使用 Selenium
2 via Java
in Eclipse
对我们的网页进行 GUI 测试。我一直在尝试以这样一种方式来编写我的测试程序,以便最大限度地增加我可以重用的代码量,因此我现在有很多功能几乎像框架一样的辅助方法。这导致我的测试 class 变得相当臃肿,只有一种方法用作实际测试,其余方法用于测试的实施。
目前我只是 运行 从 Eclipse
开始的测试,我所有的方法都是静态的。
据我所知,有几种不同的方法可以尝试将事情分开:
一种方法是把所有的方法都放在一个class中,我用它作为框架,在写实际测试时扩展它,但我不知道是否有框架在框架中 (
Selenium
) 是有道理的。另一种方法可能是将我的辅助方法变成一个对象,我可以在其中为每个测试使用这些对象之一。我不知道这是否是好的做法,或者它是否会导致问题。这也意味着我必须输入更多才能进行相同数量的测试。
我的主要问题是:
将我的测试 class 拆分为测试 class 和实现 class 的最佳方法是什么?
我所做的是否超出了
Selenium
的预期用途?
最好的做法是为每个网站创建一个page object model UI.That 将帮助您访问网络元素 easily.selenium 提供该功能,您还必须做一些研发工作.
Home_Page.lnk_MyAccount(driver).click();
LogIn_Page.txtbx_UserName(driver).sendKeys("testuser_1");
LogIn_Page.txtbx_Password(driver).sendKeys("Test@123");
并将所有与 selenium 相关的操作放入一个 class.like Action.click(),Action.search(),
或您常用的一组操作中。
接下来是通过 function.let 实现可重用代码 login(usernName,Password)
然后处理 that.and 中的登录代码 你可以在你的其他 places.always 中重用这些代码试试模块化您的实施。