Python3与Sikuli的UI自动化测试之路
背景:
项目需要在微信端小程序覆盖UI自动化测试,使用appium成本太高,故考虑可否使用sikuli来做。
调研:
问题:Sikuli使用的是java编写,python无法直接调用其api
解决方法:JPype。
JPype是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 python 在某些领域(如服务器端编程)中的不足。
安装方法:pip install JPype
实例
'''
coding:utf-8
from jpype import *
import os
from selenium import webdriver
from utils.base import Base
DIR = os.path.dirname(os.path.abspath('.'))
IMG_PATH = DIR + '/sikuli/'
"""
启动浏览器,打开被测页面
"""
driver = webdriver.Chrome(executable_path=CHROME_DRIVER_PATH)
driver.maximize_window()
driver.get(Base.get_config_value('config', 'testEnv', 'url_3.0'))
"""
由于Sikuli使用的是java编写,python无法直接调用其api,必须使用JPype来调用
"""
"""
JPype是一个能够让 python 代码方便地调用 Java 代码的工具,从而克服了 python 在某些领域(如服务器端编程)中的不足。
"""
startJVM(r'C:\Program Files\Java\jre1.8.0_101\bin\server\jvm.dll', '-ea', r'-Djava.class.path=D:\sikuli\sikulixapi.jar') # 启动 JAVA 虚拟机
Screen = JClass('org.sikuli.script.Screen') # 返回一个Java类给Python
screen = Screen() # 实例化这个类
screen.click(IMG_PATH + '跳过.PNG') # 点击事件
screen.click(IMG_PATH + '地址簿.PNG')
driver.quit()
'''
【招聘】顺丰科技
测试工程师( 薪资15-25k)
岗位描述
参与平台系统软件产品测试的全流程,包括参与需求分析、设计评审,制定测试计划,设计和执行测试用例,进行缺陷跟踪和软件质量分析等;
独立完成项目测试,包括制定测试计划,分配测试资源,构建测试环境,执行集成测试,回归测试等;
保证被测系统的质量,并通过测试流程和方法创新,努力提升研发的质量和效率;
对测试系统进行测试方案评估和项目整体跟进,并协助定位排查问题。
任职要求
1、本科及以上学历,计算机相关专业,3年以上大中型企业系统测试经验;
2、Java基础知识扎实,有Spring技能的优先;
3、熟练运用SQL, 较熟练使用MySQL数据库相关工具;
4、具有接口自动化、页面自动化、性能测试其中一种技能;
5、具有物流行业系统研发经验者优先。
有意向者请将简历发送至493745311@qq.com