Python selenium POM 自动化开发模式下,怎么样实现测试案例的复用

发布于 2022-09-07 07:26:14 字数 1393 浏览 17 评论 0

以面向页面的开发模式,开发一个系统的自动化测试案例;
现有登录login_case, 要开发一个logout_case。
由于logout_case的先决条件是用户已经登录,所以必须要在logout_case的代码中先调用login_case。
请问,代码如何组织比较优雅?

以下是代码:
LoginPage

class Login(Page):
    """
        用户登录
    """

    url = "/honycloud/login.jsp"

    login_username_loc = (By.ID, "idToken1")
    login_password_loc = (By.ID, "idToken2")
    login_button_loc = (By.ID, "loginButton_0")

    def login_username(self, username):
        self.find_element(*self.login_username_loc).send_keys(username)

    def login_password(self, password):
        self.find_element(*self.login_password_loc).send_keys(password)

    def login_button(self):
        self.find_element(*self.login_button_loc).click()

    def user_login(self, username="badusername", password="badpassword"):
        self.open()
        self.login_username(username)
        self.login_password(password)
        self.login_button()
        sleep(1)

login_case


class LoginTest(myunit.MyUnitTest):
    """
    登录
    """

    # test login
    def user_login_verify(self, username="", password=""):
        Login(self.driver).user_login(username, password)

    def test_login(self):
        self.user_login_verify(username="xxxx", password="ffff!")
        page = Login(self.driver)
        title = page.on_title()
        self.assertEqual(title, u'工作台')

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文