当前位置: 首页 > news >正文

哈尔滨网站备案手续河北邢台网站建设

哈尔滨网站备案手续,河北邢台网站建设,莒县做网站和微信,网站建设求职信息在代码执行的过程中不断的进行截图#xff0c;把截图拼接成gif动态图#xff0c;放在测试报告上 1、每条用例执行启动一个线程#xff0c;这个线程会每隔0.3秒进行截图 项目下创建一个临时目录video用来存储所有截图以及gif动态图封装不断截图的方法#xff0c;每隔0.3秒…在代码执行的过程中不断的进行截图把截图拼接成gif动态图放在测试报告上 1、每条用例执行启动一个线程这个线程会每隔0.3秒进行截图 项目下创建一个临时目录video用来存储所有截图以及gif动态图封装不断截图的方法每隔0.3秒进行截图 # 封装一个普通函数实现每隔0.3秒截图 # dr代表核心操作对象 # worker_id代表当前进程id主要是用来在多进程并发时区分不同进程下的截图 def shot(dr,worker_id):global shot_flagshot_flag True # 全局变量用来标识每条用例截图的开始和结束用例结束后把shot_flag变为fasle# 每次截图开始前清除当前进程下临时图片及gif动态图for img in os.listdir(f{project_path}/video):# img就是拿到的每个文件名称if img.startswith(worker_id):os.remove(f{project_path}/video/{img})i 0while shot_flag:try:dr.get_screetshot_as_file(f{project_path}/video/{worker_id}_{i}.png)time.sleep(0.3)i 1except:return 没条用例开始执行的时候开启一个线程执行截图 pytest.fixture(scopefunction,autouseTrue) def case_setup(worker_id):# 创建线程# target表示该线程要执行的动作只写函数名称就行# args指的是要执行这个函数时需要的入参thd threading.Thread(targetshot,args(DriverOperate.globalDriverOperate,worker_id))thd.start() 将图片按照顺序拼接成gif动态图把当前用例形成的gif动态图放在测试报告上 pytest.fixture(scopefunction,autouseTrue) def case_teardown(worker_id,common_info):yieldglobal shot_flagshot_flagFalse# 完成当前用例临时图片的拼接形成gif动态图# 1.得到当前用例所有的临时图片名称img_list []# 存储多个图片名称# 图片名称规则 gw0_0.png/gw0_1.png/gw0_2.pngfor img in os.listdir(f{project_path}/video):if img.startswith(worker_id) and img.endswith(.png):img_list.append(img)# img_list [gw0_0.png,gw0_1.png,gw0_11.png,gw0_31.png]# 从目录得到的所有图片名称的排序上可能不对拼接gif必须按照顺序来# 因此我们主要针对img_list中的图片名称进行排序img_list.sort(keylambda name: int(name.split(_)[1][:-4]))# 完成图片拼接需要用到一个图片操作的第三方库# pip install pillow -i https://pypi.doubanio.com/simplefirst_img Image.open(f{project_path}/video/{img_list[0]})eles_img [] # 存储除了第一张图以外的其他图片的二进制对象for img in img_list[1:]:cur_img Image.open(f{project_path}/video/{img})eles_img.append(cur_img)# 完成拼接first_img.save(f{project_path}/video/{worker_id}_record.gif,append_imageseles_img,duration300,# 每隔多长时间播放一张图片单位是毫秒save_allTrue,loop1 # 表示循环播放次数)# 将生成的gif动态图放入到allure测试报告上with open(f{project_path}/video/{worker_id}_record.gif,moderb) as f:allure.attach(f.read(),执行回放,attachment_typeallure.attachment_type.GIF)# 每次用例执行结束后清除当前进程下临时图片及gif动态图for img in os.listdir(f{project_path}/video):# img就是拿到的每个文件名称if img.startswith(worker_id):os.remove(f{project_path}/video/{img})
http://www.dnsts.com.cn/news/124307.html

相关文章:

  • 网站优化推广怎么做电商营销策划方案范文
  • 做市场分析的网站凡科网建网站付费链接怎么做
  • 视频发布网站有哪些内容h5页面制作免费模板
  • 58里面的网站怎么建设沈阳网站推广排名方案
  • 高端响应式网站开发微信小程序个人中心制作
  • 建设电影网站需要什么中小型企业 公司网站建设
  • 建立自己的网站平台需多少钱前端电视剧
  • 马鞍山做网站床伸舌头哔哩哔哩原声
  • 山东省住房和城乡建设挺网站怎么去除自己做的网站
  • 做电商网站的感想郑州电力高等专科学校2021录取分数线
  • 网站建设为什么必须有服务器搭建网站公司排行榜
  • 做艺术教育的网站深圳品牌设计工作室
  • seo网站推广企业网站备案图标代码
  • 怎么做简单的钓鱼网站温州网站建设托管
  • 成都网站网络建设河南网站开发培训价格
  • 数据库和网站顺德建设行政主管部门网站
  • 章丘区当地网站建设哪家好个人网站建设策划书怎么写
  • 乐都营销型网站建设江宁做网站价格
  • 纯静态网站索引怎么做设计产品
  • 福建建设厅安全员报名网站asp旅游网站模板下载
  • 无锡做网站需要多少钱网站改版 seo
  • 域名解析平台网站建设公司网站开发费账务处理
  • 二级网站深圳今天最新通知
  • 湖南做网站哪家好西红柿怎么做网站
  • 企业网站建设合同版本小学做试题网站
  • 攻击静态网站wordpress页面父级
  • 建设网站学什么条件软件维护有哪些内容
  • 江苏电力建设网站装修平台哪个最好
  • 网站建设的主要情况说明公众号版网站建设
  • 哪些是门户网站网站建设先进个人代表发言