加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 改变测试的执行速度?

发布时间:2020-12-20 13:31:13 所属栏目:Python 来源:网络整理
导读:使用更多上下文进行更新:Selenium 1有一个名为“setSpeed”的命令.这允许每个命令的执行速度减慢X毫秒. Selenium 2(Webdriver)背后的团队决定弃用这个命令,现在没有办法减慢测试速度,以便在执行期间可以直观地监视App.我已经阅读了开发人员关于他们为什么弃
使用更多上下文进行更新:Selenium 1有一个名为“setSpeed”的命令.这允许每个命令的执行速度减慢X毫秒. Selenium 2(Webdriver)背后的团队决定弃用这个命令,现在没有办法减慢测试速度,以便在执行期间可以直观地监视App.我已经阅读了开发人员关于他们为什么弃用它的解释,以及建议的解决方法,比如使用implicit_waits,但这并不能解决我(或其他人抱怨弃用)的问题.也就是说,我希望通过设置适用于unittest中的每个方法或整个测试套件的全局执行速度来解决这个问题.

原始问题:我有不同的单元测试,我想在命令之间使用不同的延迟执行.我知道我可以在命令之间保持复制和粘贴time.sleep,但是肯定有一种方法可以设置一个通用睡眠,它将在指定方法中的每个命令之前运行?

def test_x_test(self):
     driver = self.driver
     time.sleep(2)
     print("running the First selenium command such as click button")
     time.sleep(2)    
     print("running another Selenium command such as click link ")
     time.sleep(2)    
     self.driver.quit()

 if __name__ == '__main__':
     unittest.main()

解决方法

啊,现在答案是如此明显.

创建一个控制webdriver操作的辅助方法,并在它执行暂停操作之前:

以下将是伪代码,因为我无法访问工作中的Python IDE

#passing in Webdriver instance and the command we want to execute into our helper method   
webdriverHelper(driver,command):
    #this 2 second sleep will get run each time
    time.sleep(2)
    if command == "click":
        driver.getElement.click()
    elif command== "getText":
        driver.getElement.getText()
    etc...............

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读