python实现VTS和CTS-ON-GSI自动flash system.img脚本
2022-07-20 14:24:05 265
Python 软件测试 xTS(谷歌认证测试)
```python import os import time import sys import re from colorama import init init(autoreset=True) a = sys.argv[1] try: boot = sys.argv[2] except: boot = " " system = "system.img" def flashGsi(a, boot, sn, s): os.system("adb -s {} reboot bootloader".format(sn)) time.sleep(1) if a == "vts": os.system("fastboot flash boot {}".format(boot)) time.sleep(1) os.system("fastboot -w") else: os.system("fastboot -w") time.sleep(1) os.system("fastboot reboot fastboot") time.sleep(2) os.system("fastboot flash system {}".format(system)) time.sleep(5) os.system("fastboot reboot") print("\n") #output = '*'*int((s/2-37)) + "\033[0;32;40m\t{}:此设备刷GSI成功,正在重启中\033[0m".format(sn) + '*'*int((s/2-37)) print("#####\033[0;32;40m{}:此设备刷GSI成功,正在重启中\033[0m#####".format(sn).center(s, '*')) def getDevicesSn(): SN_list = [] device_info = os.popen('adb devices').read() for line in device_info.splitlines(): if line == 'List of devices attached': continue else: com = re.compile('(.*?)\tde.*?') SN = re.findall(com, line) for i in SN: SN_list.append(i) return SN_list if __name__ == '__main__': width = os.get_terminal_size().columns sn = getDevicesSn() for i in sn: print("\n"+ "#####\033[0;32;40m{}:此设备正在刷GSI,请稍等!\033[0m#####".format(i).center(width, '*')) flashGsi(a, boot, i, width) time.sleep(10) print("\n"+ "#####\033[0;32;40m共{}台手机刷GSI完成!\033[0m#####".format(len(sn)).center(width, '*')) time.sleep(2) if a == 'gsi': print("\n"+ "#####\033[0;31;40m请手动点击Allow USB debugging弹框\033[0m#####".center(width)) time.sleep(75) os.system("python3 setting.py") time.sleep(1) os.system("python3 auto_media_push.py") else: time.sleep(75) os.system("python3 setting.py") ``` ``` 想了解,flash system.img开机后,VTS和CTS-on-GSI手机前期设置的小伙伴们,请关注我。
python实现ecshop开源商城登陆自动化测试
2022-07-20 14:23:40 237
Python 软件测试 自动化脚本
python实现ecshop开源商城账号登陆自动化测试,需求:提取excel表格里的测试数据进行自动化登陆账号,判断实际结果与预期结果是否匹配。 导入包: ```python import xlrd from selenium import webdriver from time import sleep ``` 获取自动化测试数据: ```python def get_test_data(path): date = xlrd.open_workbook(path) sheet_names = date.sheet_names() table = date.sheet_by_name(sheet_names[0]) rows = table.nrows for i in range(1, rows): row_content = table.row_values(i) tcid = (row_content[0]) username = (row_content[1]) password = int(row_content[2]) expected = (row_content[3]) test_case(tcid, username, password, expected) ``` 测试用例部分: ```python def test_case(tcid, username, password, expected): driver = webdriver.Chrome() driver.get('http://localhost/user.php') sleep(4) driver.find_element_by_name('username').send_keys(username) sleep(2) driver.find_element_by_name('password').send_keys(password) sleep(2) driver.find_element_by_name('submit').click() sleep(4) a = isElementExist(driver, '/html/body/div[6]/div[2]/div/div/div/font') if a: b = "登陆成功" if expected == b: print(tcid + "\t预期结果为:" + expected + ",实际结果:登陆成功。测试结果Pass") else: print(tcid + "\t预期结果为:" + expected + ",实际结果:登陆失败。测试结果Fail") else: b = "登陆失败" if expected == b: print(tcid + "\t预期结果为:" + expected + ",实际结果:登陆失败。测试结果Pass") else: print(tcid + "\t预期结果为:" + expected + ",实际结果:登陆成功。测试结果Fail") driver.quit() ``` 异常处理: ```python def isElementExist(a, element): flag = True driver = a try: driver.find_element_by_xpath(element) return flag except: flag = False return flag ``` 执行测试: ```python if __name__ == '__main__': get_test_data("D:\\MY_TEST\\selenium\\login\\info.xlsx") ``` 测试数据: ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020032622155419.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDU0NjM0MA==,size_16,color_FFFFFF,t_70) 最后: **人生苦短,我用python.....** 哈哈继续努力学习!
python + selenium + unittest 实现网站登录注册自动化测试
2022-07-20 14:22:19 234
Python Selenium 自动化脚本 软件测试
推荐一个在线工具网站:[在线工具大全](https://www.zztdd.cn) 登录封装: ```python from selenium import webdriver import time class Auto(object): def __init__(self, *args): login_url = 'https://snail.zhuozhuo.io/?n=fastCat.fcFrontSnail.NewFront.NewFront.PCLoginPage' register_url = "https://getsuwo.com/?n=fastCat.fcFrontSnail.NewFront.NewFront.PCRegisterPage" InRegisterAuto_url = "https://getsuwo.com/?n=fastCat.fcFrontSnail.NewFront.NewFront.PCInternationalRegisterPage" driver = webdriver.Chrome() self.driver = driver self.login_url = login_url self.register_url = register_url self.InRegisterAuto_url = InRegisterAuto_url self.args = args #登录页面 def loginAuto(self): self.driver.implicitly_wait(5) self.driver.get(self.login_url) self.error('self.driver.find_element_by_name("Username").send_keys(self.args[0])') self.error('self.driver.find_element_by_name("Password").send_keys(self.args[1])') self.driver.find_element_by_css_selector("[type='submit']").click() try: time.sleep(0.5) result = self.driver.find_element_by_class_name("ErrorMsg").text return result except: return finally: self.driver.quit() ``` 登录用例执行: ```python import unittest import warnings from Tool import Auto class ExecuteCase(unittest.TestCase): def setUp(self): warnings.simplefilter('ignore', ResourceWarning) # 处理unittest警告信息 # 测试账号(test_1 -- test_8),登录页面账号未作格式校验 def test_1(self): '''所有输入框为空''' expectResult = "帐号不能为空" login = Auto() actualResult = login.loginAuto() self.assertEqual(expectResult, actualResult) def test_2(self): '''输入12位手机号,密码为空,值为:184883658555''' expectResult = "手机号码格式不正确" login = Auto("184883658555") actualResult = login.loginAuto() self.assertEqual(expectResult, actualResult) def test_3(self): '''输入10位手机号,密码为空,值为:1848365858''' expectResult = "手机号码格式不正确" login = Auto("1848365858") actualResult = login.loginAuto() self.assertEqual(expectResult, actualResult) ``` 等等…… [详细源码,请访问github](https://github.com/ZhongTian5/selenium) 推荐一个免费的在线小工具网站:https://www.zztdd.cn/