Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Appium(最好是python)拍摄本机iOS屏幕截图,并在设备/模拟器相册中自动查看它们?_Python_Ios_Path_Appium_Screenshot - Fatal编程技术网

如何使用Appium(最好是python)拍摄本机iOS屏幕截图,并在设备/模拟器相册中自动查看它们?

如何使用Appium(最好是python)拍摄本机iOS屏幕截图,并在设备/模拟器相册中自动查看它们?,python,ios,path,appium,screenshot,Python,Ios,Path,Appium,Screenshot,我正在尝试在iOS模拟器中通过相册自动截图和上传。如果我们使用Appium save_屏幕截图(输出),我们不知道相册路径或没有明确写入相册的权限。相反,我们被迫将屏幕截图保存到计算机/项目中的路径 我试过这两种方法: screenshotBase64=self.driver.get_screenshot_为_base64() file=((TakesScreenshot)self.driver.getScreenshotAs(OutputType.file) 预期:截图已拍摄并保存到相册中

我正在尝试在iOS模拟器中通过相册自动截图和上传。如果我们使用Appium save_屏幕截图(输出),我们不知道相册路径或没有明确写入相册的权限。相反,我们被迫将屏幕截图保存到计算机/项目中的路径

我试过这两种方法:

  • screenshotBase64=self.driver.get_screenshot_为_base64()
  • file=((TakesScreenshot)self.driver.getScreenshotAs(OutputType.file)

    预期:截图已拍摄并保存到相册中
    实际情况:无任何情况发生

    此操作没有单独的命令,您必须使用以下组合:

  • -将屏幕截图作为Base64字符串
  • -在iOS设备上保存屏幕截图
  • 比如:


    您可能还对填补Appium空白的命令感兴趣

    这方面没有单独的命令,您必须选择以下组合:

  • -将屏幕截图作为Base64字符串
  • -在iOS设备上保存屏幕截图
  • 比如:


    您可能还对填补Appium空白的命令感兴趣

    您可以使用驱动程序将屏幕截图保存为文件:

    self.wd = webdriver.Remote('http://localhost:{0}/wd/hub'.format(self.port), self.desired_caps)
    self.wd.get_screenshot_as_file('{0}.jpg'.format(self.desired_caps['deviceName']))
    

    您可以使用驱动程序将屏幕截图保存为文件:

    self.wd = webdriver.Remote('http://localhost:{0}/wd/hub'.format(self.port), self.desired_caps)
    self.wd.get_screenshot_as_file('{0}.jpg'.format(self.desired_caps['deviceName']))
    

    尝试时看到以下异常1.屏幕截图2.推送文件WebDriverException:消息:处理命令时发生未知服务器端错误。原始错误:运行“addmedia”时发生simctl错误:未能导入“/var/folders/vq/vztd6tv95ml3dbt2sk2x6_xc0000gn/T/2019631-3218-5911mr.dwtj9/device”,错误[NSPOSIXErrorDomain]22:操作无法完成。不支持文件类型。非常感谢!当我在device/image_name.png之后添加扩展名为.png时,它起了作用。当我尝试1时,会出现以下异常。屏幕截图2.推送文件WebDriverException:消息:处理命令时发生未知服务器端错误。原始错误:运行“addmedia”时发生simctl错误:未能导入“/var/folders/vq/vztd6tv95ml3dbt2sk2x6_xc0000gn/T/2019631-3218-5911mr.dwtj9/device”,错误[NSPOSIXErrorDomain]22:操作无法完成。不支持文件类型。非常感谢!当我在device/image\u name.png之后添加扩展名为.png时,它起作用了
    self.wd = webdriver.Remote('http://localhost:{0}/wd/hub'.format(self.port), self.desired_caps)
    self.wd.get_screenshot_as_file('{0}.jpg'.format(self.desired_caps['deviceName']))