如何使用 appium python 在 AWS Device farm 中为 运行 截屏?
How to take screenshots in AWS Device farm for a run using appium python?
即使在 DeviceFarm 中成功执行了我的测试,我也得到了一个空的屏幕截图报告。我的代码保持简单如下 -
from appium import webdriver
import time
import unittest
import os
class MyAndroidTest(unittest.TestCase):
def setUp(self):
caps = {}
self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
def test1(self):
self.driver.get('http://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html')
time.sleep(5)
screenshot_folder = os.getenv('SCREENSHOT_PATH', '/tmp')
self.driver.save_screenshot(screenshot_folder + 'screen1.png')
time.sleep(5)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(MyAndroidTest)
unittest.TextTestRunner(verbosity=2).run(suite)
我在单个设备池上进行了测试 -
我怎样才能完成这项工作?
TIA。
文件名(即 screen1.png
)前缺少斜线(/
)。第 15 行应如下所示 -
self.driver.save_screenshot(screenshot_folder + '/screen1.png')
虽然我不确定如何将其写入 Device Farm 中的文件,但这里是屏幕截图端点的 appium 文档和一个 python 示例。
https://github.com/appium/appium/blob/master/docs/en/commands/session/screenshot.md
它得到一个 base 64 编码的字符串,然后我们只需要将它保存在某个地方,比如提到的其他答案的 appium 截图目录。否则我们也可以将其保存在 /tmp 目录中,然后使用自定义工件功能将其导出。
如果 link 有帮助,请告诉我。
詹姆斯
即使在 DeviceFarm 中成功执行了我的测试,我也得到了一个空的屏幕截图报告。我的代码保持简单如下 -
from appium import webdriver
import time
import unittest
import os
class MyAndroidTest(unittest.TestCase):
def setUp(self):
caps = {}
self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
def test1(self):
self.driver.get('http://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html')
time.sleep(5)
screenshot_folder = os.getenv('SCREENSHOT_PATH', '/tmp')
self.driver.save_screenshot(screenshot_folder + 'screen1.png')
time.sleep(5)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(MyAndroidTest)
unittest.TextTestRunner(verbosity=2).run(suite)
我在单个设备池上进行了测试 -
我怎样才能完成这项工作?
TIA。
文件名(即 screen1.png
)前缺少斜线(/
)。第 15 行应如下所示 -
self.driver.save_screenshot(screenshot_folder + '/screen1.png')
虽然我不确定如何将其写入 Device Farm 中的文件,但这里是屏幕截图端点的 appium 文档和一个 python 示例。
https://github.com/appium/appium/blob/master/docs/en/commands/session/screenshot.md
它得到一个 base 64 编码的字符串,然后我们只需要将它保存在某个地方,比如提到的其他答案的 appium 截图目录。否则我们也可以将其保存在 /tmp 目录中,然后使用自定义工件功能将其导出。
如果 link 有帮助,请告诉我。
詹姆斯