selenium-python自动化测试第一天


第一天

一、   前言:

自动化测试

    功能自动化----QTP、selenium

    性能自动化----Loadrunner、Jmeter

二、   web自动化测试的价值

a、解决面试中遇到的自动化测试问题

b、解决工作中的自动化测试任务(需求,计划,方案,用例(脚本))

 

课程安排

    第一天:

1、web自动化测试基础知识

2、web自动化测试环境搭建

3、Python开发语言的学习(上)

 

第二天:

1、Python开发语言学习(下)

2、Selenium IDE工具的使用

3、初级脚本编写(定位方式和操作方法)

 

第三天:

1、高级脚本编写(xpath、css定位)

2、定位中的难点(框架、)

3、脚本的参数化

4、测试框架的设计和使用

 

第四天:

1、测试套件的使用

2、测试报告的生成及截图

3、测试框架的设计

 

   第五天:

   后续更新

三、   什么是自动化测试?

先了解手工测试

手工web测试的主要内容?

A、功能测试

a)   功能实现

b)   文字链接

c)   图片内容

d)   表单测试

e)   前后台交互

B、非功能

a)   兼容性(浏览器)

             i.     静态页面

           ii.     动态页面

          iii.     插件

b)   安全性

             i.     Cookie测试

           ii.     Session测试

          iii.     SQL注入

           iv.     跨站脚本攻击

             v.     插件

c)   效率(性能)

C、 数据库

a)   增删改查测试

b)   连接测试

c)   初始化数据加载测试

d)   事务测试

e)   存储过程的测试

D、外部接口

a)   用户接口

b)   软件接口

c)   硬件接口

   

自动化测试:由机器或工具代替手工执行软件测试,单击被测试软件的界面,执行一系列操作并进行验证的过程

 

四、   开展自动化测试的条件?

1、手工测试无法完成,需要投入大量的时间和人力

2、需求变更不频繁,比较稳定

3、项目周期足够长

4、自动化测试脚本可复用

5、手工测试基本通过

五、   自动化测试的原理

手工执行用例:

 

1、打开浏览器,访问目标网址

2、点击登录,进入登陆页面

3、输入用户名

4、输入密码

5、点击登录

6、验证登陆成功

 

自动化执行用例:

 

1、调用API函数(webdriver)启动浏览器,使用get方法访问目标网址

2、通过定位目标对象的属性,使用click操作方法

3、通过定位目标对象的属性,使用send_keys操作方法

4、通过定位目标对象的属性,使用send_keys操作方法

5、通过定位目标对象的属性,使用click操作方法

6、使用断言函数(比较函数),判断是否登录成功

 

六、   QTP和selenium的区别

关注点

QTP

Selenium

是否收费

商业,收费

开源,免费

开发语言

VBS

Python、Java、C#、php、perl、Ruby

支持的浏览器

IE、Firefox

Firefox、IE、chrome、Safari、Android

支持的平台

Windows

Windows、Linux、Android、ios

兼容性和大小

扩展性差,体积大2G

扩展性强,体积小,50M

 

 

七、   Python-selenium自动化测试环境搭建

Os:xp、server、win7

 

1、 安装Python--- python-2.7.6.msi,一路下一步,默认安装在C盘,配置path环境变量,追加Python安装目录C:\python27,验证:win+r打开运行,输入cmd进入dos环境,输入Python回车

查看是否进入Python环境。

 

2、 安装setuptools-0.6c11.win32-py2.7.exe,一路下一步,默认安装。

 

3、 安装selenium--- selenium-2.40.0.tar.gz,

A、解压该压缩包,移动到C:\Python27\Lib\site-packages目录下,win+R打开运行,输入cmd进入dos环境,

B、使用cd命令进入C:\Python27\Lib\site-packages\selenium-2.40.0,输入dir查看setup.py文件

    C、输入安装命令:Python setup.py install 回车

 

4、 安装seleniumIDE、Firebug插件,打开Firefox浏览器,将插件依次拖入浏览器界面,提示立即安装,安装然后重启浏览器即可

 

验证Python-selenium环境:

打开验证selenium.py,修改网址,点击F5运行。

 

 

配置Eclipse

 

1、首先安装pydev插件:分别复制features和plugins文件夹内的内容到Eclipse对应的文件夹内

2、打开Eclipse,点击window---preference---pydev---Interpreter Python---点击new---点击Browse---查找Python.exe---打开---确定即可

3、切换进入pydev工程:点击右上角方框(open perspective)---选择pydev即可

 

 

八、   Python语言的学习(上)

1、基础知识

数据结构:常量、变量、元组(列表)、字典

数据类型:int float str

    算法:分支和循环

 

2、Python语言的特点:

 

例子:定义三个不同类型的变量,赋值,输出

无头文件、无主函数、无大括号、无分号,简洁,靠缩进来区分语句,且变量的定义不需要书写类型,直接赋值,Python自动识别数据类型,字符串赋值时可用双引号或单引号,两者区别:双引号只用于打印对象中含有单引号时

 

    注释:单行注释---#,多行注释---’’’(一对缩进相同)

 

3、输入输出函数:

   

    输出函数:print 变量名,变量名

    例子:print a,b     print ("%d,%f,%s")%(a,b,c)

 

    类型查看函数:type(变量名)

    例子:print type(a) 

 

    输入函数:input和raw_input()

    例子:a=input(“提示信息:”)、b=raw_input(“xxxxxxxxx”)

 

    区别:后者输入字符时不需要输入单引号,默认接收的全部数据类型都为str

 

4、元组/列表

   

    定义:

s=(1,2.5,'much')----tuple

s=[1,2.5,'much']----list

#tuple类型的元组内的值不可改变,而list类型的元组可以改变

    引用:

#引用方式:

#1整体应用---元组名

例子:print s

#2下标引用---下标从0开始

例子:print s[2]

#3下限、上限和步长---上限默认不打印,步长为1可省略,步长是下一元素的增量或两个元素之间的逗号的个数

例子:print s[1:7:2]

    #4 特殊引用

       例子:print s[-2]

 

    练习:定义一个0-9的元组,1、输出倒数第3个元素;2、输出值468

   

    操作方法:

1、逆序存放:s.reverse()---改变原来元组的值

2、排序存放:s.sort()------改变原来元组的值

3、排序:sorted(s)---------不改变原来元组的值

4、插入:s.insert(n,m)-----在某一位置(s[n]前面)插入该值m

5、追加:s.append(n)-------在该元组末尾追加n

6、最大值:max(s)

7、最小值:min(s)

8、长度:len(s)

9、删除:del s[n]

 

5、字典

   

    定义:#大括号,键值对形式存在{‘key’:value}

s={'a':10,'b':20,'c':15}#字典内的元素没有顺序,不能够通过下标引用

 

引用:只能通过键来引用或整体引用

print s['c'];print s

 

操作方法:

       1、取出所有的键:s.keys()

       2、取出所有的值:s.values()

       3、取出所有的键值对,作为一个元组内的元素:s.items()

       4、清空字典:s.clear()

       5、删除:del s[‘key’]

 

6、分支

 

分类

If-分支

If-else分支

If-elif嵌套

语法

 

    If 条件:

       语句体

 

 

       If 条件:

           语句体1

       Else:

           语句体2

 

 

        If 条件1:

           语句体1

       Elif 条件2:

           语句体2

       Elif 条件3:

           语句体3

       Else:

           语句体

 

例子

 

a=0

if a>0:

           a+=1

print a

 

 

a=input()

if a>0:

    a+=1

else:

    a-=1

print a

 

 

a=input()

if a>0:

    a+=1

elif a==0:

    a-=1

elif a<0:

    a+=2

print a

 

 

例子:输入一个成绩,判断该成绩等级(A/B/C/D/E)

 

注:Python不支持&&、||,需要and、or代替

 

预习:

面向对象的类、属性、方法、实例化、继承

 

作业:输出100以内的所有质数(只能被1和其本身整除的数)

你可能感兴趣的:(selenium-python)