现现在社会科技发展太快了,纯功能点点点已经落后别人好几条街了,因此为了让本身多点职业生涯年限,得挺起肩,傲起头。自动化测试,其本质是用代码程序测试程序,因此其实第一步应该学好编程语言,后再本身开发自动化测试工具、框架,那这就到了高级测试工程师的位置了,在这以前就要学习掌握许多的相关知识,首先咱们能够先学习探索几个自动化测试工具,这篇主讲seleniumjava
一 前言:python
一、为了要代替繁琐重复的手动回归,这时利用上自动化工具是多么妙的感受,在市面上自动化测试工具备不少,目前最经常使用的就是QTP和selenium,可是更喜欢selenium,因它开源免费,可定制,多语言,还跨平台(手机、windows、mac和Linux),惟一不足就是不支持桌面应用程序,只支持浏览器web
二、什么项目适合作UI自动化:①项目周期长 ②业务流程复杂 ③项目相对来讲比较稳定 ④项目基于Adobe flash的话就不适合 ⑤定制化的项目chrome
三、selenium三个版本:编程
①selenium 1版,基于JS,经过向浏览器植入JS,完成操纵网页的目的windows
②selenium 2版,引入webdriver,基于HTTP协议,代码至关于客户端跟selenium的服务器会开一个session,代码传给selenium的服务器,服务器把代码翻译成driver能听懂的 语言,就是一个API接口,经过driver去驱动浏览器,简单讲把浏览器原生的API封装成WebDriver API,就能够直接操做浏览器页面里的元素,因此就像真正的用户在操做同样浏览器
③selenium 3版,跟selenium2没多大区别,主要区别是使用Firefox时是必须下载驱动 geckodrive服务器
二 java+selenium框架:session
所需环境,搭配好jdkapp
下载selenium-server-standalone和各个浏览器的driver,连接:https://pan.baidu.com/s/1U8umo6dL908EUfUDu92yBg 密码:3m7s
打开eclipse,在项目里新建立一个folder,把selenium-server-standalone-3.12.0.jar包放到这文件夹里来,而后在项目上右键点击build path----configure build path...---添加jre,ok.
为了运行代码时能随时随地找到这个driver,可放到项目里文件夹里,或是把driver的目录放在环境变量path里,或放在java/bin里面去,也能够把driver放到各个浏览器目录下边来.
谷歌,火狐,IE,edge等浏览器,其中edge在作自动化时,须要新建一个用户,使用非内置用户,如果系统管理员帐号的话是会报错,其余浏览器没影响。
这边开始来如何实现 打开各个浏览器
1 //把webdriver实例化,启动火狐 2 WebDriver dr=new FirefoxDriver(); 3 //WebDriver dr=new ChromeDriver(); 4 //WebDriver dr=new InternetExplorerDriver(); 5 dr.get("https://www.baidu.com"); 6 dr.close();//关掉浏览器 7 dr.quit();//退出驱动
成功打开
注意一点驱动和浏览器版本的兼容问题
嗑个selenium的API,写段代码来操做页面元素
定位页面元素优先考虑id和name,其次是xpath、LinkText,这边仍是用百度网址
1 WebDriver dr=new ChromeDriver(); 2 //WebDriver dr=new InternetExplorerDriver(); 3 dr.get("https://www.baidu.com"); 4 //定位到百度搜索框的元素,输入happy 5 dr.findElement(By.id("kw")).sendKeys("happy"); 6 //清除 7 dr.findElement(By.id("kw")).clear(); 8 //从新输入cake 9 dr.findElement(By.id("kw")).sendKeys("cake"); 10 //dr.close(); 11 //dr.quit();
三 Python+selenium框架:
Python官网下载地址:https://www.python.org/downloads/,目前最新版是3.7.0,这版本还不是太稳定,建议下载3.4-3.6版本,配置好环境变量,以下图表明安装成功了
下载安装selenium,只要在命令行输入 pip install selenium会自动安装
用Python敲一段打开浏览器
1 from selenium import webdriver 2 import time 3 #dr=webdriver.Ie() 4 dr=webdriver.chrome() 5 dr.get('http://www.baidu.com') 6 time.sleep(3) 7 dr.close() 8 dr.quit()