美文网首页
web自动化测试--- 窗口切换

web自动化测试--- 窗口切换

作者: sai德很黑 | 来源:发表于2020-11-24 23:43 被阅读0次

问题由来:用selenium+unittest编写自动化测试代码过程中出现了此问题

selenium.common.exceptions.TimeoutException: Message(在最大时间范围内没找到元素)

(导入模块代码省略。。。)

#   未登录点击首页大视频播放器
    def test_0_nologin_click_big_studio(self):
        #点击首页视频播放器进入直播间,等待出现聊天室最大视频区域出现
        IndexPage(self.dirver).click_enter_studio()
        # 断言登录弹窗出现
        self.assertTrue(LoginPage(self.dirver).is_appears_login())

运行结果:
======================================================================
ERROR: test_0_nologin_click_big_studio (__main__.TestIndexPage)
----------------------------------------------------------------------
Traceback (most recent call last):
 , line 43, in test_0_nologin_click_big_studio
    self.assertTrue(LoginPage(self.dirver).is_appears_login())
, in is_appears_login
    WebDriverWait(self.driver, 20).until(EC.visibility_of_element_located((LPL.login_alert)))
, line 80, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: 

用例描述:前置条件:用户未登录 测试步骤:点击首页视频播放器中间进入主播直播间 (如下图)

image.png

点击后进入直播间

image.png

这两天一直在找这个问题所在,终于在刚刚发现了问题所在,原来是窗口没切换过去😭😭

调整后代码如下:


#   未登录点击首页大视频播放器
    def test_0_nologin_click_big_studio(self):
        #获取当前打开的窗口数
        handle=self.dirver.window_handles
        #点击首页视频播放器进入直播间,等待出现聊天室最大视频区域出现
        IndexPage(self.dirver).click_enter_studio()
        #等待新窗口出现
        WebDriverWait(self.dirver,10).until(EC.new_window_is_opened(handle))
        #再次获取窗口总数
        handles=self.dirver.window_handles
        #切换窗口
        self.dirver.switch_to.window(handles[-1])
        # 断言登录弹窗出现
        self.assertTrue(LoginPage(self.dirver).is_appears_login())


运行结果:
..
----------------------------------------------------------------------
Ran 2 tests in 215.229s

OK

Process finished with exit code 0
就为了这两个小点,调试了差不多2天,我太“男”了😭😭😭,还好知道了问题所在,小本本记下了

持续学习ing

end。。。

相关文章

网友评论

      本文标题:web自动化测试--- 窗口切换

      本文链接:https://www.haomeiwen.com/subject/lfxgiktx.html