Watir-WebDriver 截图保存到Excel功能

金皓君
2023-12-01

1.watir-webdriver 自带截图功能

  browser.driver.save_screenshot 'screenshot.png'

     此种方法可以截取整个网页的图片。功能强大,但是不好之处在于,截取出来的图片比较模糊,分辨率不高。尤其放到excel 中,效果比较差。

2.win32 screenshot 截图功能

  需要先安装gem install win32screenshot

  执行时:

  require 'win32/screenshot'

  #Take a screenshot of the foreground, and writing over previous image if it exists

  Win32::Screenshot::Take.of(:foreground).write!("C:\\image.png") 

     或者如下方法:

     # Take a screenshot of the window with the specified title
     #Win32::Screenshot::Take.of(:window, title: "Windows Internet Explorer").write("image.bmp")

    利用此种方法截取出的图片分辨率高于第一种方法。建议采用此种方法。

3.将截图放到Excel中

   @excel = WIN32OLE::new("EXCEL.APPLICATION")
      @excel.visible=false
      @WorkBookopen= @excel.Workbooks.Open("excel文件路径")
      @objSheet = @excel.Sheets(1)
      @excel.Sheets(1).Select
      @objSheet .Range("A1").Select
    #此方法 将添加图片到excel

    #一般只需要更改后四位参数,0:与左边距,0:与上边距,570:图片宽度,324:图片高度。可以多尝试组合。
      @objSheet.Shapes.AddPicture "C:\\image.png", false, true, 0, 0, 570, 324

      @excel.DisplayAlerts = false
      @WorkBookopen.save
      @WorkBookopen.close

      如此即可将截图放到EXCEL中。

  可以在此方法上进一步加强,做成截图函数,提供自动化测试中使用。

      执行一个案例,根据需要截取多张图片按顺序放到Excel文件中。完美跟踪测试执行过程。

      此处略。

 

转载于:https://www.cnblogs.com/jiajia-autotesting/p/5670439.html

 类似资料: