首页 文章 精选 留言 我的

精选列表

搜索[项目自动化],共10000篇文章
优秀的个人博客,低调大师

Selenium + Python + Chrome 自动化测试 环境搭建

一、下载Python 相关的教程很多,此处不详细记录了,下面是官网下载地址: https://www.python.org/downloads/ 我使用的python版本为 Python 3.6.1 注意:下载完成后配置python和pip的环境变量 二、下载Selenium 如果环境变量配置成功,在命令提示符下输入以下指令即可安装 pip install -U selenium 出现 Successfully 表示下载成功 三、下载对应驱动 官网(需要科学上网): https://sites.google.com/a/chromium.org/chromedriver/downloads 第三方: https://npm.taobao.org/mirrors/chromedriver 下载后放至 "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe" 并添加环境变量 四、运行Python # -*- coding: utf-8 -*- from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get('http://www.baidu.com') 注意:此处运行后我报了有关driver的错误,理论上应该配了环境变量就可以了,但是配置了还是有错,最后的方法是将下载的driver放到与python文件相同的目录下 成功运行后可以自动打开百度的首页,就代表环境配置成功啦!

优秀的个人博客,低调大师

rhel7 ansible 自动化部署示例

环境: centos 7 设置系统limit为65535 详见:http://www.cnblogs.com/qq78292959/archive/2012/03/07/2383337.html 关闭selinux 1 2 3 4 /etc/sysconfig/selinux SELINUX=disabled 安装ansible yum install epel-releaseansible 配置ssh key 配置ansible(ansible目录ansible_test) 1、修改ansible配置:vi /etc/ansible/ansible.cfg 1 2 #uncommentthistodisableSSHkeyhostchecking host_key_checking=False #关闭knownhosts提醒 2、设置hosts:vi ansible_test/hosts 1 2 3 4 5 6 7 8 9 [harbor]-->服务名称命名 10.199.133.157-->ip地址 10.199.133.158 [registry] 10.199.133.159 [mysql] 10.199.132.136 3、设置全局变量ansible_test/group_vars/all.yml 1 2 3 4 5 6 open_trigger: "on" -->on默认会转化为True需要加上双引号 mysql_host:10.199.133.158 mysql_user:root mysql_pwd:21@AAAsafqqqsQ registry_url:10.199.133.159:5000 harbor_ip:10.199.133.157 4、ansible_test/harbor.yml示例配置 harbor.yml 1 2 3 4 5 -hosts:harbor-->对应hosts中的harbor定义 roles: #-docker-->对应ansible_test/roles/docker,不执行 -master-->对应ansible_test /roles/master -test_docker_dns-->对应ansible_test /roles/test_docker_dns 5、ansible task目录 ls -l ansible_test/roles/docker/ 1 2 3 4 total0 drwxr-xr-x2rootroot24Jul132016files-->文件存放 drwxr-xr-x2rootroot21Aug815:59tasks-->ansible执行任务 drwxr-xr-x2rootroot22Jul132016templates-->模板 cat roles/docker/tasks/main.yml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 --- ###起始行 -name:Copyyumrepo file -->拷贝文件,放置在files目录中 copy:src=docker.repodest= /etc/yum .repos.d /docker .repo -name:Copydockerimages-->拷贝目录 copy:src=images/dest= /tmp/images/ -name:Copycontainerconfigfiles-->批量拷贝 copy:src={{item.src}}dest={{item.dest}} with_items: -src:config /jobservice/ dest: /apps/conf/harbor/jobservice/ -src:config /ui/ {{use_by}}/-->引用全局变量 dest: /apps/conf/harbor/ui/ -src:config /nginx/ dest: /apps/conf/harbor/nginx/ -name:Importdockerimages-->批量执行命令 command :dockerload-i{{item}} with_items: - /tmp/images/golang . tar - /tmp/images/deploy_log . tar - /tmp/images/deploy_jobservice . tar - file :path= /var/log/harbor_jobservice_audit .logstate= touch mode= "u=rw,g=r,o=r" -->创建文件 -lineinfile:dest= /etc/resolv .confline= "nameserver192.168.209.254" -->增加目标主机resolv.conf的nameserver解析 -lineinfile:dest= /etc/resolv .confstate=absentregexp= "10.199.129.21" -->删除10.199.129.21域名解析 -lineinfile:dest= /apps/conf/harbor/ui/env regexp= '^HA_PROXY_ADDR=' line= 'HA_PROXY_ADDR={{domain_name}}' -->引用全局变量替换内容 -replace:dest= /apps/conf/harbor/nginx/nginx .confregexp= '(.*upstreamregistry.*{.*\n.*)server.*' replace= '\1server{{registry_url}};' -->替换upstreamregistry后一行内容 -lineinfile:dest= /apps/conf/harbor/registry/config .ymlregexp= '(.*rootdirectory:)' line= '\1{{rootdirectory}}' backrefs= yes -->引用并替换内容 -name:Deleterestart file -->删除文件 file :path=~ /restart_docker .shstate=absent -name:Yummakecache-->执行linux命令 command :yummakecache -name:Installdocker-->安装软件 yum:name=dockerstate=latest -name:Updatedockerconfig file -->使用模板替换文件 template:src=docker.j2dest= /etc/sysconfig/docker -name:Enabledockerservice-->启动服务 service:name=dockerenabled= yes state=started 流程图 执行部署harboransible-playbook -i hosts harbor.yml 本文转自 qwjhq 51CTO博客,原文链接:http://blog.51cto.com/bingdian/1893465

优秀的个人博客,低调大师

android 自动化测试之MonkeyRunner学习(二)

上次说到已经配好了MonkeyRunner的运行环境,现在讲解怎么进行简单的MonkeyRunner测试。这个拖了很久才有时间和心情总结一下。真是计划赶不上变化啊。 就不说废话了。http://developer.android.com/tools/help/MonkeyDevice.html,这个地址是android上的MonkeyRunner官方文档地址。上面关于MonkeyRunner的一些方法说的很详细。本篇不是详细解释MonkeyRunner方法的文章,只是根据我的理解,结合自己的一个例子讲解一下怎么使用MonkeyRunner写测试程序。 MonkeyRunner工具共有三个类:MonkeyRunner、MonkeyDevice、MonkeyImage。 一、MonkeyRunnner类: 这个类主要用于把MonkeyRunner连接至真机或者模拟器,另外有个显示提示信息的alert方法和一个选择方法比较常用。 二、MonkeyImage类: 这个类主要是测试过程中,用来保存测试截图,把图片保存成各种格式,并且可以比较两个MonkeyImage对象。 主要常用的有两个方法:writeToFile(stringpath,stringformat),这个是保存截图的位置,和命名,可以把图片保存到sdcard里面,也可以保存到电脑里面;sameAs(MonkeyImageother,floatpercent),这个用来比较两个截图是否相同,结果为boolean值。 三、MonkeyDevice类: 这个类的方法就多了一下,主要提供了安装和卸载程序包、启动一个活动及操作键盘等事件的方法。像里面的startActivity(stringuri,stringaction,stringdata,stringmimetype,iterablecategoriesdictionaryextras,componentcomponent,flags)启动一个应用,press(stringname,dictionarytype)点击控件,touch(integerx,integery,integertype)点击控件(通过坐标定位),drag(tuplestart,tupleend,floatduration,integersteps)拖拉控件等等方法比较常用。 MonekeyRunner这个测试工具用起来不算太难,下面给出一段代码简单解释一下: FetionTest.py #coding=utf-8Python程序的第一句,添加这句使注释支持中文 #导入需要的MonkeyRunner的包,也可以是自己写的类,如果文件很多的话 fromcom.android.monkeyrunnerimportMonkeyRunner,MonkeyDevice,MonkeyImage #连接真机,里面要写正确自己的真机对应的名字,cmd下命令下,可以用adbdevices看到 devices1=MonkeyRunner.waitForConnection(5,"1234567890ABCDEF") #连接模拟器 devices2=MonkeyRunner.waitForConnection(5,"emulator-5554") #启动飞信的主界面,这是我测的飞信程序,里面主要是配好飞信的包名和启动Activity devices1.startActivity (component='cn.com.fetion/.android.ui.activities.StartActivity') devices2.startActivity (component='cn.com.fetion/.android.ui.activities.StartActivity') #休眠8秒,便于帐号的登录 MonkeyRunner.sleep(8.0) #点击我的好友一栏,这里使用的是坐标方法 devices1.touch(202,258,"DOWN_AND_UP") #选中好友 devices1.touch(222,326,"DOWN_AND_UP") devices1.touch(442,325,"DOWN_AND_UP") #点击“加入黑名单” devices1.touch(223,563,"DOWN_AND_UP") #下面是进行截图,和保存图片 result1=device1.takeSnapshot() result1.writeToFile('E:\slack01.png','png') #点击返回键,可以找到模拟器上任何一个建对应的关键值,这个在官方文档里可以查到 device1.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP) result2=device1.takeSnapshot() result2.writeToFile('E:\slack02.png','png') 这个程序就简单说这些,另外可以对自己的程序进行优化,可以把不同的测试case封装到一个方法里,也可以把一些配置设置成全局变量,然后在不同的类里进行调用。这些需要简单了解一下Python的编程知识。 下面说一个比较好用的获取坐标的工具。就是用来获取真机上坐标的工具,当我们点击真机上的空间时,能显示真机上的点击点的坐标。 这个是一个可以自己定义的python文件,只有几句话: fromcom.android.monkeyrunnerimportMonkeyRunnerasmr fromcom.android.monkeyrunner.recorderimportMonkeyRecorderasrecorder #里面添加你的真机的名字 device=mr.waitForConnection(5,"MSM8225QRD5") recorder.start(device) 比如,我把它定义为monkey_recorder.py,然后放在G盘,在cmd下运行monkeyrunnermonkey_recorder.py,就会出现如下界面: 当我们在这个工具上点击时,真机也会跟着执行,并且会显示每一步我们点击的位置的坐标,比如,我点击打开音乐播放器会记录如下: 这个工具的好只有处你用过几次才知道的,呵呵,反正有些应用程序里很小的图标只能通过坐标获取点击事件,这个工具的优势就显示出来了。另外,需要注意,这个是不能用来获取模拟器坐标的,模拟器上的坐标只有自己下个截图工具,来量取坐标了。这一点确实很蛋疼。 软件工具都是这样,没有绝对的便利。MonkeyRunner也不例外。呵呵,这一次就写这么多吧,这个工具简单的使用介绍的也差不多了,更多的还需要自己去摸索,熟能生巧嘛。希望大家能多多分享,多多交流。 本文转自 风泊海上 51CTO博客,原文链接:http://blog.51cto.com/fengbohaishang/962705

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册