用锤子便签搭建简单的unittest框架

写了一个简单的小例子,能通过appium打开锤子便签,并输入“abc”,通过断言检测输入的信息是否正确
用了pycharm这个IDE来编写appium,运行时需要先在命令行输入appium打开appium,然后再运行pycharm
在pycharm里新建一个名为smartnote的项目
在这里插入图片描述
先自己写了一个不带框架的小测试(smartbianqian.py

# -*- coding:utf-8 -*-

import os, time, unittest,sys
from appium import webdriver
# from selenium import webdriver
desired_caps = {
            'platformName': 'Android',  # 设备系统
            'deviceName': '28f5751a',  # 设备名称
            'platformVersion': '7.1.1',  # 设备系统版本
            'noReset':'True',
            'unicodeKeyboard':'True',#能输入中文字符
            'resetKeyboard':'True',#能输入中文字符
            'appPackage': 'com.smartisanos.notes',  # apk包名
            'appActivity': 'com.smartisanos.notes.NotesActivity',  # apk的launcherActivity
        }
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)  # 启动app
time.sleep(5)
   # self.verificationErrors = "今天天气不错在家学习!"        #设置的断言
# 点击“输入框”
driver.find_element_by_id("com.smartisanos.notes:id/new_note_button").click()
# 输入字段
searchInputBox = driver.find_element_by_id('com.smartisanos.notes:id/list_rtf_view')
driver.find_element_by_id("com.smartisanos.notes:id/list_rtf_view").send_keys("appium")
driver.tap([(983, 1820)])#通过坐标定位
driver.find_element_by_id("com.smartisanos.notes:id/edit_done_button").click()
driver.find_element_by_id("com.smartisanos.notes:id/back_button").click()

if __name__ == '__main__':
       unittest.main()        #unittest.main()是运行主函数,运行后会看到测试结果

然后加入了框架(unittestsmart.py

# -*- coding:utf-8 -*-

import os, time, unittest,sys
from appium import webdriver
# from selenium import webdriver
class Appium_test(unittest.TestCase):
    def setUp(self):
        desired_caps = {
            'platformName': 'Android',  # 设备系统
            'deviceName': '28f5751a',  # 设备名称
            'platformVersion': '7.1.1',  # 设备系统版本
            'noReset':'True',
            'unicodeKeyboard':'True',#能输入中文字符
            'resetKeyboard':'True',#能输入中文字符
            'appPackage': 'com.smartisanos.notes',  # apk包名
            'appActivity': 'com.smartisanos.notes.NotesActivity',  # apk的launcherActivity
        }
        self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)  # 启动app
        time.sleep(5)
        self.verificationErrors = "abc"        #设置的断言

    def tearDown(self):
        time.sleep(10)
        assertt = self.driver.find_element_by_id("com.smartisanos.notes:id/list_rtf_view").text
        self.assertEqual(assertt,self.verificationErrors,msg="abd")#验证输入的文本是否是abd因为输入的是abc,所以不对,应该会报错
        # 断言:实际结果,预期结果,错误信息
        self.driver.quit()

    def test_creat(self):
        # 根据元素xpath来定位
        # 点击“输入框”
        self.driver.find_element_by_id("com.smartisanos.notes:id/new_note_button").click()
        # 输入字段
        searchInputBox = self.driver.find_element_by_id('com.smartisanos.notes:id/list_rtf_view')
        #searchInputBox.send_keys("appium")
        self.driver.find_element_by_id("com.smartisanos.notes:id/list_rtf_view").send_keys("abc")
        self.driver.tap([(983, 1820)])

if __name__== '__main__':
    unittest.main(verbosity=2)

生成html的测试报告(unittesthtml.py

# coding=utf-8

import unittest
from unittestsmart import Appium_test#从unittestsmart导入
from HTMLTestRunner import HTMLTestRunner

if __name__ == '__main__':
    suite = unittest.TestSuite()
    suite.addTests(unittest.TestLoader().loadTestsFromTestCase(Appium_test))

    with open('HTMLReport7.html', 'wb+') as f:
        runner = HTMLTestRunner(stream=f,
                                title='appium测试报告',
                                description='新增一条记录并保存',
                                verbosity=2
                                )
        runner.run(suite)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值