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自动打开页面并验证部署情况

你可能感兴趣的:(python在ui自动化中的一些常见用法)