Selenium Web UI 自动化,页面跳转问题,如何不使用强制等待实现验证用户登录成功?

个位测试开发大佬,

请教一个问题,我在设计用户登录的测试用例的时候,发现如果不加time.sleep(3)Selenium控制的页面不能实现自动跳转,浏览器在尝试完成登录的跳转操作时,会自动停留在loginpage.

如果我加上强制等待代码,Selenium控制的页面才能完成页面跳转,完成用login page 到 home page的页面跳转,请教一下造成这个问题的原因是什么?

测试使用的网站URL:https://www.ketangpai.com/#/login

@pytest.mark.login
class TestLogin:
    @pytest.mark.parametrize("test_info", cases_success)
    def test_login_success(self, test_info, browser):
        """登录成功"""
        login_page = LoginPage(browser)
        login_page.get().login(test_info['mobile'], test_info['password'])
        time.sleep(3)
        main_page = MainPage(browser).get()
        my_course = main_page.get_my_course()
        page_title = main_page.get_title()
        more_menu = main_page.get_more_menu()
        user_info = main_page.get_user_avatar_source()
        try:
            assert test_info["expected2"] in page_title, "登录成功"
            assert test_info["expected1"] in user_info
            assert more_menu == "更多"
            assert my_course == "我的课堂"
        except AssertionError as e:
            raise e

  • 待分类
    9732 引用 • 917 回帖 • 5 关注
  • Q&A
    767 引用 • 584 回帖 • 2 关注
回帖
请输入回帖内容 ...