繁体   English   中英

在Selenium页面对象模型测试中重用登录功能

[英]Re-using login functionality in Selenium page object model tests

我正在探索在Web应用程序上使用Selenium 2,这需要在用户可以使用任何应用程序之前进行身份验证。 我正在计划JUnit 4或TestNG(仍在调查哪一个用于Grid 2)。 我也可以计划使用jbehave。

有没有人对如何改进以下测试有任何建议,以便我可以在所有测试中使用成功的登录功能? 我想避免在测试中重复登录。

public class LoginPageTest {

    private LoginPage page;

    @Before
    public void openTheBrowser() {
        page = PageFactory.initElements(new FirefoxDriver(), LoginPage.class);
        page.open("http://www.site.com/Login");
    }

    @After
    public void closeTheBrowser() {
        page.close();
    }

    @Test
    public void whenTheUserEntersValidCredentialsTheUserIsLoggedIn() {
        assertThat(page.getTitle(), containsString("Login") );
    }   
}

测试已简化,但它将返回成功登录的页面对象。

谢谢

查看案例研究@ http://blog.infostretch.com/?p=806以获得更好的想法。 如果您处于初始开发水平,我建议您尝试使用QAF(以前的ISFW)

您最好的选择可能是将LoginPageTest类用作父类,并从LoginPageTest扩展每个测试类。

这样,每个测试都可以使用父设置和拆除方法登录系统,并进行自己的附加测试。

创建库并调用测试用例序列以执行一个测试用例/场景。
例如:

lib.login();
lib.whenTheUserEntersValidCredentialsTheUserIsLoggedIn();
lib.logout();

为此,照顾对象创作。 对象的解决方案是使用super eg: super.login()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM