Hello,
I am performing tests on a android app mobile with Appium. But at the end of the test, It does not generate a html report. I don’t know where the problem is located but i have already installed the HTMLTestRunner and import it on my code. All help is welcome. You can find my code below :
import time
from appium import webdriver
import unittest
from selenium.webdriver import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput
from Resources.TestData import TestData
from PageObjects.LoginPage import LoginPage
from PageObjects.HomePage import HomePage
from PageObjects.AccountPage import AccountPage
from PageObjects.SettingsPage import SettingsPage
import HTMLTestRunner
class Configuration(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Remote(command_executor=TestData.host, desired_capabilities=TestData.desired_cap)
cls.driver.implicitly_wait(10)
def test_configurations_valid(self):
driver = self.driver
login = LoginPage(driver)
# skip sign in
login.skip_sign_in()
# Define Webview context and Native context
webview = self.driver.contexts[1]
native = self.driver.contexts[0]
# Switch to webview context
self.driver.switch_to.context(webview)
# Wait after switching to webview context
self.driver.implicitly_wait(120)
# Sign in
login.sign_in(login=TestData.login, password=TestData.password)
# switch back to native view
self.driver.switch_to.context(native)
# go to account page
self.driver.implicitly_wait(120)
home_page = HomePage(driver)
home_page.select_general_settings()
# scroll down in general settings page
self.driver.implicitly_wait(120)
actions = ActionChains(driver)
actions.w3c_actions = ActionBuilder(driver, mouse=PointerInput(interaction.POINTER_TOUCH, "touch"))
actions.w3c_actions.pointer_action.move_to_location(729, 1607)
actions.w3c_actions.pointer_action.pointer_down()
actions.w3c_actions.pointer_action.move_to_location(737, 752)
actions.w3c_actions.pointer_action.release()
actions.perform()
time.sleep(2)
# Settings Connection/Deconnection :
self.driver.implicitly_wait(120)
connection_deconnection = SettingsPage(driver)
connection_deconnection.connections_deconnections()
@classmethod
def tearDownClass(cls):
cls.driver.quit()
print("test completed")
# HTML report
if __name__ == '__main__':
unittest.main(testRunner=HTMLTestRunner.HTMLTestRunner(output='/home/ringover/Automation/android-test/Reports'))