Я автоматизирую мобильное приложение с помощью Appium и Python.Мне нужно получить HTML-отчет по результатам теста.Что мне нужно, это сохранить результаты теста в файлах Html для удобочитаемого представления результатов.Я испробовал несколько способов, но у меня ничего не получилось.
Кто-нибудь знает, как это сделать?Заранее спасибо.
import os, sys
import glob
import unittest
from appium import webdriver
from time import sleep
PLATFORM_VERSION = '5.1.1'
class EntranceTests(unittest.TestCase):
def setUp(self):
print 'commandline args',sys.argv[1]
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1.1'
desired_caps['deviceName'] = 'CooTel S32'
desired_caps['udid'] = sys.argv[1]
desired_caps['appPackage'] = 'com.android.systemui'
desired_caps['appActivity'] = ' '
url = "http://localhost:{}/wd/hub".format(sys.argv[2])
self.driver = webdriver.Remote(url, desired_caps)
def data_connection(self):
self.driver.orientation = "PORTRAIT"
self.driver.swipe(340, 1, 340, 800, 2000)
notification = self.driver.find_element_by_id('com.android.systemui:id/header')
notification.click()
try:
wifi = self.driver.find_element_by_xpath('//*[contains(@class,"android.widget.TextView") and contains(@text, "WLAN")]')
wifi.is_displayed()
print 'Wifi is switched off'
mobiledata = self.driver.find_element_by_xpath('//android.widget.TextView[contains(@text, "Mobile data")]')
mobiledata.click()
print 'SUCCESS! Switch on Mobile data'
sleep(5)
except:
print 'Wifi is switched on'
wifi_off = self.driver.find_element_by_xpath('//*[contains(@class,"android.widget.ImageView") and contains(@index, "0")]')
wifi_off.click()
print 'SUCCESS! Switch off Wifi'
mobiledata = self.driver.find_element_by_xpath('//android.widget.TextView[contains(@text, "Mobile data")]')
mobiledata.click()
print 'SUCCESS! Switch on Mobile data'
sleep(5)
def testcase_dataAndWifi(self):
self.data_connection()
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(EntranceTests)
result = str(unittest.TextTestRunner(verbosity=2).run(suite))