python中node.tag的用法_python在ui自动化中的一些常见用法

http://cn.python-requests.org/zh_CN/latest 可以查看requests库的说明,pprint(res.json(),width=30)可以对请求的返回值按照json格式化形式进行打印。

常见的content-type 有application/x-www-form-urlencoded、application/json、application/xml。

自动化测试操作数据库的原因:用例检查、用例数据准备、运维。

node是js语言的解释器,可以用它的npm命令安装appium

android studio 包含android sdk的安装工具,从官网下载安装 也可以下载android studio较老的版本,会内置sdk bundle 是最正规的安装方法

安装jdk,oracle官网,1.8比较稳定,1.7 1.10不稳定

安卓手机连接,进入开发者模式,安装驱动,adb devices -l 查看连接情况

有条件的可以进行一键安装一键搭建自动化环境的集成。

selenium 通过pip install进行安装

下载chromedriver,根据自己的谷歌浏览器找到对应的版本  导入selenium的webdriver包,创建driver=webdriver.Chrome(r'g:\chromedriver.exe') driver.get('url地址')

对页面元素进行批量操作,比如某些元素的选择状态,先通过页面元素审查,找到控制项,find_elements_by_css_selector('#某个div的id 某个css的属性em[class=on]')

jobs = driver.find_elements_by_css_selector('#resultlist div[class=el]')

#遍历文本区,并使用竖线分割多个字段

stringFilelds = [field.text for field in fields]

print(' | '.join(stringFilelds))

#创建一个excel workbook对象

book = xlwt.Workbook()

#增加一个sheet

sh =book.add_sheet('统计')

#写入内容

row = 0

for job in jobs:

fields = job.find_elements_by_tag_name('span')

col = 0

for field in fields:

text = field.text

print(text,end='')

sh.write(row,col,text)

col += 1

print('')

row += 1

#保存文件

book.save('g:\\xxx.xls') 可以将结果保存到一个excel表里面

driver.quit()

python自动化环境自动搭建

预置条件CentOS6 X64  python3 Django Cherrypy 安装好

登录服务器,检查是否有以前的产品运行

如果有原来的代码删除

import paramiko

#自动登录服务器设置

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)

ssh.connect("ip地址",端口号,"用户名","密码")

ssh.exec_command("mkdir houge")

怎么使用证书登录linux系统??,暂时只知道帐号密码的形式

exec_command()方法

创建文件夹 mkdir houge

将需要的信息写入到一个python文件

#在文件中写入或修改信息'echo "ip = 192.168.1.2" >cfgabc.py'

#将输出赋值到三个变量,-v grep是去掉grep进程本身

stdin,stdout,stderr = ps -ef|grep apiteach|grep -v grep

#读取数据

output=stdout.read().decode()

if '老版本包含的程序信息' in output:

print('老版本程序运行中。。。准备杀死')

#使用空格分隔多个字符串

parts = output.split(' ')

parts = [part for part in parts if part]

#取出位置在第二的字符串(0是第一个)

pid = parts[1]

ssh.exec_command(f'kill -9 {pid}')

# 再次检查是否有先前的版本

output = ssh.exec_command('ps -ef|grep apiteach|grep -v grep')

if 'xxxx' in output:

print('不能停止的服务!!')

sys.exit(3)

else:

print('停止成功')

#删除原来的代码包

ssh.exec_command('rm -f xxxx.zip')

#上传新代码包

sftp = ssh.open_sftp()

#正斜杠不用转义字符,使用pwd查看服务器上的当前目录

sftp.put(r'f:\xxx\xxx.zip','/home/xxx/xxx.zip')

sftp.close()

#备份原来的安装目录

rm -rf restapi-teach.bak;mv restapi-reach restapi-teach.bak

#解压安装包

('unzip restapi-teach.zip',printOutput=False)

#运行

('cd restapi-teach;chmod +x run.sh;dos2unix run.sh;./run.sh;sleep 5')

#检查是否运行成功

output =('ps -ef|grep apiteach|grep -v grep')

#如果存在表示运行成功

if '老版本包含的程序信息' in output:

print('新版本服务运行成功')

接下去使用selenium自动打开页面并验证部署情况

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode1039. 多边形三角剖分的最低得分(动态规划)

给定 N,想象一个凸 N 边多边形,其顶点按顺时针顺序依次标记为 A[0], A[i], …, A[N-1]。 假设您将多边形剖分为 N-2 个三角形。对于每个三角形,该三角形的值是顶点标记的乘积,三角剖分的分数是进行三角剖分后所有 N-2 个三角形的…

TRIZ解决问题方法

个人觉的成功是有规律的,那些成功的人士,都有一套处理事情的秘籍。只要我们的思维方式把那些秘籍融会贯通,并快速执行,我们有一天也会成功的。 TRIZ解决问题的5点方法。 1.确定最终目标。 2.列出阻碍因素 3.消除阻碍因素 4.可以利…

windows调用python_windows 快捷调用Python语言

本文主要向大家介绍了windows 快捷调用Python语言,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。场景1:某云平台的账号/或密码比较长,一旦浏览器缓存失效,就要去邮件/文件查找,费时费力场景…

《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上) 《量化投资:以MATLAB为工具》简介 《量化投资:以MATLAB为工具》是由电子工业出版社&#xff0…

android-开源项目_我如何摆脱对开源的恐惧,并开始了自己的项目-以及如何做到。...

android-开源项目by Linea Brink Andersen通过Linea Brink Andersen 我如何摆脱对开源的恐惧,并开始了自己的项目-以及如何做到。 (How I crushed my fear of open source and started my own project — and how you can, too.) A week ago, I started an Open So…

本题要求实现函数输出n行数字金字塔。_练习5-3 数字金字塔 (15分)

本题要求实现函数输出n行数字金字塔。函数接口定义&#xff1a;void pyramid( int n );其中n是用户传入的参数&#xff0c;为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。裁判测试程序样例&#xff1a;#include <stdio.…

leetcode167. 两数之和 II - 输入有序数组(二分查找)

给定一个已按照升序排列 的有序数组&#xff0c;找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2&#xff0c;其中 index1 必须小于 index2。 说明: 返回的下标值&#xff08;index1 和 index2&#xff09;不是从零开始的。 你可以假设每…

thinkcmf 横向排列数据_利用python进行数据分析之数据清洗规整

1.处理缺失值数据使用dropna()时&#xff0c;注意里面参数axis、how、thresh的用法使用fillna()时&#xff0c;注意里面参数value、method、inplace、limit的用法2.数据转换去重data.drop_duplicates(keeplast)#注意keep的用法映射map&#xff08;&#xff09;针对的是一维数组…

v$asm_diskgroup中state的说明

1.使用oracle账号连接数据库&#xff0c;查看v$asm_diskgroup 2.使用grid账号连接ASM实例&#xff0c;查看v$asm_diskgroup 3.官方v$asm_diskgroup关于state的解释 https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-ASM_DISKGROUP.html#GUID-5CF77719-7…

AutoMapper的介绍与使用(二)

AutoMapper的匹配 1&#xff0c;智能匹配 AutoMapper能够自动识别和匹配大部分对象属性: 如果源类和目标类的属性名称相同&#xff0c;直接匹配&#xff0c;不区分大小写目标类型的CustomerName可以匹配源类型的Customer.Name目标类型的Total可以匹配源类型的GetTotal()方法…

站长快讯 WordPress跨站攻击漏洞修补

WordPress中发现一些漏洞&#xff0c;攻击者利用该漏洞可以发起跨站脚本攻击&#xff0c;绕过WordPress安全性限制&#xff0c;获取较为敏感的修订历史记录的信息&#xff0c;或者绑架站点以用于DDoS攻击。 CVE ID CVE-2015-8834 CVE-2016-5832 CVE-2016-5834 CVE-2016-5835 C…

畅通无阻的公式:乘员组从几乎破产变成了吸引500万游客的方式

How could you go from almost no traction and running out of money, to getting millions of visitors to your website?您怎么能从几乎没有牵引力和资金用尽的角度&#xff0c;如何吸引数百万的网站访问者&#xff1f; You could do like Crew accidentally did with Uns…

leetcode1302. 层数最深叶子节点的和(深度优先搜索)

给你一棵二叉树&#xff0c;请你返回层数最深的叶子节点的和。 代码 class Solution {int[] depthnew int[]{Integer.MIN_VALUE,0};//记录最深层数和对应的和public int deepestLeavesSum(TreeNode root) {if(rootnull) return 0;deep(root,0);return depth[1];}public void d…

Python笔记 【无序】 【五】

描述符 将某种特殊类型的类【只要实现了以下或其中一个】的实例指派给另一个类的属性 1.__get__(self,instance,owner)//访问属性&#xff0c;返回属性的值 2.__set__(self,instance,value)//将在属性分配【即赋值】中调用&#xff0c;不返回任何内容 3.__delete__&#xff08;…

化工图纸中LISP_化工设备厂参展模型设计制作

最近这个案子是受某化工设备企业委托做四套设备模型 用来参加展会在模型制作过程中&#xff0c;这类案例经常遇到。但是客户所提供的CAD图纸&#xff0c;往往是实物尺寸在进行缩放的过程中常会造成过薄和过于精细的情况出现眼下技术小哥就遇到这类情况让我们先看看客户提供的C…

社交大佬们的数据“大”在哪里?

文章讲的是社交大佬们的数据“大”在哪里&#xff0c;“别说忙&#xff0c;没工夫看书&#xff0c;你那刷FB/朋友圈的工夫腾出来&#xff0c;保证每周啃下一本”&#xff0c;小编身边总充斥着这样的“训话”。 额&#xff0c;奈何我每天的工作离不开从社交媒体中获取信息&#…

微信支付JsAPI

https://pay.weixin.qq.com/wiki/doc/api/download/WxpayAPI_php_v3.zip 下载获取微信支付demo压缩包打开压缩包&#xff0c;并将其中 WxpayAPI_php_v3\example下的 jsapi.php log.php WxPay.JsApiPay.php WxPay.MicroPay.php WxPay.NativePay.php 解压缩到根目录 tellingtent/…

mysql 多数据源访问_通过Spring Boot配置动态数据源访问多个数据库的实现代码

之前写过一篇博客《SpringMybatisMysql搭建分布式数据库访问框架》描述如何通过SpringMybatis配置动态数据源访问多个数据库。但是之前的方案有一些限制(原博客中也描述了)&#xff1a;只适用于数据库数量不多且固定的情况。针对数据库动态增加的情况无能为力。下面讲的方案能支…

我如何将Google I / O 2018的兴奋带给尼日利亚沃里的115个人

Google Developer Group Warri的第一个I / O扩展事件的故事 (A tale of Google Developer Group Warri’s first I/O Extended event) Google I/O is one of the largest developer festivals in the tech ecosystem. I am the lead organizer for the Google Developer Group …

菜鸟postman接口测试_postman 接口测试(转)

本文转载自testerhome&#xff1b;作者&#xff1a;xinxi1990 &#xff1b;原文链接&#xff1a;https://testerhome.com/topics/18719&#xff1b;转载以分享知识为目的&#xff0c;著作权归原作者所有&#xff0c;如有侵权&#xff0c;请联系删除。postman使用创建用例集启动…