Python unittest appium

import unittest

from appium import webdriver
from appium.common.exceptions import NoSuchContextException
import desired_capabilities

class ContextSwitchingTests(unittest.TestCase):
    def setUp(self):
        desired_caps = desired_capabilities.get_desired_capabilities(‘selendroid-test-app.apk‘)
        self.driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps)

    def test_contexts_list(self):
        self._enter_webview()
        contexts = self.driver.contexts
        self.assertEqual(2, len(contexts))

    def test_move_to_correct_context(self):
        self._enter_webview()
        self.assertEqual(‘WEBVIEW_io.selendroid.testapp‘, self.driver.current_context)

    def test_actually_in_webview(self):
        self._enter_webview()
        self.driver.find_element_by_css_selector(‘input[type=submit]‘).click()
        el = self.driver.find_element_by_xpath("//h1[contains(., ‘This is my way‘)]")
        self.assertIsNot(None, el)

    def test_move_back_to_native_context(self):
        self._enter_webview()
        self.driver.switch_to.context(None)
        self.assertEqual(‘NATIVE_APP‘, self.driver.current_context)

    def test_set_invalid_context(self):
        self.assertRaises(NoSuchContextException, self.driver.switch_to.context, ‘invalid name‘)

    def tearDown(self):
        self.driver.quit()

    def _enter_webview(self):
        btn = self.driver.find_element_by_name(‘buttonStartWebviewCD‘)
        btn.click()
        self.driver.switch_to.context(‘WEBVIEW‘)

if __name__ == "__main__":
    suite = unittest.TestLoader().loadTestsFromTestCase(ContextSwitchingTests)
    unittest.TextTestRunner(verbosity=2).run(suite)

  

时间: 2024-10-11 18:53:32

Python unittest appium的相关文章

使用python编写appium用例

安装Python依赖 pip3.4 install nose pip3.4 install selenium pip3.4 install Appium-Python-Client 运行测试用例android_contacts.py import os import unittest from appium import webdriver from time import sleep # Returns abs path relative to this file and not cwd PA

python unittest不执行"if __name__ == '__main__' "问题

问题: selenium导入unittest框架和HtmlReport框架后,HtmlReport不被执行. 假设代码为: from selenium import webdriver import unittest class Test(unittest.TestCase): print "this is class Test" def setup(self): print "this is setup" def test_1(self): print "

简单实现接口自动化测试(基于python+unittest)

简单实现接口自动化测试(基于python+unittest) 简介 本文通过从Postman获取基本的接口测试Code简单的接口测试入手,一步步调整优化接口调用,以及增加基本的结果判断,讲解Python自带的Unittest框架调用,期望各位可以通过本文对接口自动化测试有一个大致的了解. 引言 为什么要做接口自动化测试? 在当前互联网产品迭代频繁的背景下,回归测试的时间越来越少,很难在每个迭代都对所有功能做完整回归.但接口自动化测试因其实现简单.维护成本低,容易提高覆盖率等特点,越来越受重视.

Python + Robotframework + Appium 之APP自动化测试小试牛刀(Android)

Robotframework如何好?这里先不说了~ Python更不用说了~ Appium前面的文章有介绍~ 今天直接来Python+Robotframework+Appium 三者结合起来,对Andoid app小试牛刀下,后续再作更多介绍. 1.环境搭建(之前已经介绍过Python+Appium了) 直接用pip命令安装: pip install robotramework pip install robotframework-appiumlibrary 最好再安装  pip install

python unittest 测试所有相关单元测试

python unittest 测试所有相关单元测试 python -m unittest discover project_directory "ut_*.py" 原文地址:https://www.cnblogs.com/bingwork/p/9714318.html

Python Unittest框架用例执行失败自动截图

原生的unittest框架是不支持case失败后自动截图功能,网上的解决办法,大体上分为两种: 1.加装饰器 可参考让unittest框架在fail时自动截图的装饰器.给测试用例添加多个装饰器的问题 (python unittest.TestCase) 2.封装断言 可参考Getting Python's unittest results in a tearDown() method.python 自动化测试,求助:如何判断用例断言失败后自动截图 原文地址:https://www.cnblogs

基于Python的Appium环境搭建合集

自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出我的一个疑问吧. app启用时,分不同的场景: 1.首次安装启用,有欢迎页: 2.非首次启用,直接进入到登录页: 3.配置了推荐展示时,启用app,会先展示推荐内容,才进入到登录页. 不同场景对应的activity都是不同的,我目前处理办法是,写了个输入函数,加了个if判断去对应不同的activit

接口自动化1.0 python+unittest

自己尝试拿自己测试的系统编写接口自动化,不断优化,不断完善,记录学习过程,以及过程中遇到的问题及解决办法. 采用的结构是python+unittest,数据驱动模式 代码的结构: 测试数据: 处理测试数据,使用tool里面的get_data.py,代码: import openpyxl class Do_Excel: def __init__(self, file_name, sheet_name): self.file_name = file_name self.sheet_name = sh

python,appium,初步 --L简

 python,appium 测试环境搭建  appium自动化,简介 appium,就是一个翻译: 客户端,是大头儿:appium仅仅是个翻译  Appium自动化,具体执行步骤 ## 关于设备信息: 因为设备繁多: 不同设备,对应的底层工具不同 所以,我们应该,在python脚本,提供设备信息:(Desired Capabilities) ## adb 简介  实例代码 from appium import webdriver import time desired_caps = {} #安