当前位置: 首页 > 面试题库 >

捕获失败的测试用例的屏幕截图

酆晔
2023-03-14
问题内容

如何在Selenium + Python中捕获失败的测试用例的屏幕截图?我可以获取页面的屏幕截图,但是在捕获失败的测试用例的屏幕截图时会遇到困难。

码:

def test_2new(self):

   driver = self.driver driver.get("google.com") 
   driver.find_element_by_name("q").send_keys("Automation") 
   driver.set_page_load_timeout(10) 
   driver.find_element_by_name("btnK").click() 
   self.assertTrue("something.com" in self.driver.current_url) 
   print("Google Search")

@classmethod
def tearDownClass(cls):

    # cls.driver.refresh() 
    time.sleep(5) 
    if sys.exc_info()[0]: 
         cls.driver.save_screenshot(r"C:\Users\ANCP2\sample.png")

问题答案:

您可以像这样:

def test_2new(self):

    driver = self.driver 
    driver.get("google.com")
    driver.set_page_load_timeout(10)
    driver.find_element_by_name("q").send_keys("Automation")  
    driver.find_element_by_name("btnK").click()

    try:

        self.assertTrue("something.com" in self.driver.current_url) 
        print("Google Search!")

    except AssertionError:

        driver.save_screenshot(r"C:\Users\ANCP2\sample.png")

希望对您有帮助!



 类似资料:
  • 问题内容: 你们中有谁知道针对测试失败和异常进行屏幕截图的可能解决方案? 我在其中添加了以下代码,但结果是它也会对通过的测试进行截图,因此它不是最佳解决方案: 我已经找到了这个主意:http: //yizeng.me/2014/02/08/take-a-screenshot-on-exception-with- selenium-csharp-eventfiringwebdriver/ ,可以使用

  • 我试图根据用户输入的坐标捕捉区域截图。基本上,用户在屏幕上点击得到x,y坐标,然后在其他地方点击另一对x,y坐标,然后将其放入一个矩形中,并使用机器人库创建屏幕截图。 我有的问题是,我得到了随机截图,这不是用户输入的坐标,我怎么能考虑包括0的坐标,因为矩形值必须超过1。 以下是我迄今为止的代码:

  • 我正在使用MSpec使用硒网络驱动程序驱动一些自动化的用户界面测试。很像我在网上找到的例子。当测试失败时,我很难让它截图。 我在另一个问题上看到了一个评论,因为他们在示例Web规范中有一个。然而,在最新版本的Mspec(0.9.1)中似乎不存在。 在最新版本的mspec中,有没有其他方法可以做到这一点?最终,我将作为TeamCity工件生成HTML报告,并包含任何失败规范的屏幕截图。

  • 我有一个有30行的tableView,我还有一个位于tableView顶部的视图(不在tableView标题中),我想捕获屏幕的完整屏幕截图,包括视图和tableView的所有行,但我只能捕获tableView和视图的可见行。请帮助我,提前谢谢。这是我的代码和模拟器的屏幕截图。注意(我不希望我的视图位于tableview标题中,因为当我们滚动tableview时,它也会滚动,这就是为什么视图是固定

  • 我在调整ExtentReports以提供所需的输出方面遇到了一些困难。 我有一个简单的TestNG测试框架,使用TestBase类来完成繁重的任务,以保持测试的简单性。我希望以一种简单的方式实现ExtentReports,使用TestNG ITestResult接口报告通过、失败和未知。 以下是示例测试,1个通过,1个故意失败: null

  • 问题内容: 在运行集成测试时, 在每个步骤之后 捕获屏幕截图的最佳方法是什么? 使用Selenium(3.0.1)和Cucumber(1.2.4)用Java编写测试。 下面是用于在测试后获取屏幕截图的代码,但是在每种方法后面都标有@ Given,@ When,@ Then时,我需要屏幕截图。 谢谢您的任何提示。 问题答案: 使用方面解决了这个问题。非常棘手,请注意注释: 下面是完整的代码,由Viv