即使在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。
答案 0 :(得分:0)
在文件名(即/
)前加斜杠(screen1.png
)。第15行应如下所示-
self.driver.save_screenshot(screenshot_folder + '/screen1.png')
答案 1 :(得分:0)
尽管我不确定如何将其写入设备场中的文件,但这里是截屏端点的appium文档和python示例。
https://github.com/appium/appium/blob/master/docs/en/commands/session/screenshot.md
它得到一个以64为基数的编码字符串,然后我们只需要将其保存在appium屏幕截图dir中提到的其他答案中。否则,我们也可以将其保存在/ tmp目录中,然后使用自定义工件功能将其导出。
让我知道该链接是否有帮助。
詹姆斯