• 玩玩自动化测试之selenium篇


      现如今社会科技发展太快了,纯功能点点点已经落后别人好几条街了,所以为了让自己多点职业生涯年限,得挺起肩,傲起头。自动化测试,其本质是用代码程序测试程序,所以其实第一步应该学好编程语言,后再自己开发自动化测试工具、框架,那这就到了高级测试工程师的位置了,在这之前就要学习掌握许多的相关知识,首先我们可以先学习探索几个自动化测试工具,这篇主讲selenium

    一 前言:

      1、为了要代替繁琐重复的手动回归,这时利用上自动化工具是多么妙的感觉,在市面上自动化测试工具有很多,目前最常用的就是QTP和selenium,但是更喜欢selenium,因它开源免费,可定制,多语言,还跨平台(手机、windows、mac和Linux),唯一不足就是不支持桌面应用程序,只支持浏览器

      2、什么项目适合做UI自动化:①项目周期长 ②业务流程复杂 ③项目相对来说比较稳定 ④项目基于Adobe flash的话就不适合 ⑤定制化的项目

      3、selenium三个版本:

                ①selenium 1版,基于JS,通过向浏览器植入JS,完成操纵网页的目的

                ②selenium 2版,引入webdriver,基于HTTP协议,代码相当于客户端跟selenium的服务器会开一个session,代码传给selenium的服务器,服务器把代码翻译成driver能听懂的 语言,就是一个API接口,通过driver去驱动浏览器,简单讲把浏览器原生的API封装成WebDriver API,就可以直接操作浏览器页面里的元素,所以就像真正的用户在操作一样

           ③selenium 3版,跟selenium2没多大区别,主要区别是使用Firefox时是必须下载驱动 geckodrive

    二 java+selenium框架:

    所需环境,搭配好jdk

     

    下载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()

  • 相关阅读:
    面试题19:包含min函数的栈
    编程之美 计算字符串的相似度
    android 数据持久化——I/O操作
    SSD磁盘,CPU居高不下,高并发的情况下,是不是mysql解析器耗费的cpu资源高?
    Eclipse、MyEclipse优化,提高运行速度
    Sonar入门学习
    Oracle 生成指定范围内随机日期
    ios中的GCD
    如何使用Win8系统自带杀毒软件
    安装Ubuntu版本linux过程中没有提示设置root用户密码问题的解决办法
  • 原文地址:https://www.cnblogs.com/hearbeat/p/hearbeat.html
Copyright © 2020-2023  润新知