python与selenium开发环境搭建
- python setup.py install
- pip install ggplot(下载安装新库)
- 备注:用权限安装
- 打开相应浏览器的驱动Chrome chromedriver.storage.googleapis.com/index.html
- 将chromedriver.exe文件复制到C:\Users\11839\AppData\Local\Programs\Python\Python37和C:\Users\11839\AppData\Local\Programs\Python\Python37\Scripts文件夹中
- 火狐浏览器驱动GeckoDriver下载地址https://github.com/mozilla/geckodriver/releases使用方法同上
- 备注:异常关闭杀毒软件(先从重启)
- cmd开启控制台,cd命令进入:Python2\Scripts,输入pip install selenium 或者 pip install –U selenium后回车,等待下载并安装,如果无错误 即安装成功。
- pycham功能及地址www.jetbrains.com/pycharm
- idea功能相同(集成开发环境)
- project视图、代码结构视图
- 代码重构
- 语法高亮、自动补齐、错误提示、自动修复
- 代码导航
- 主流开发框架的支持(Django)
- 集成版本控制(git、svn)
- 单元测试
- 图形界面的调试功能
python
- 对象
- 变量
- 多次指代对象
- a=3
- a="hello.world"
- a=100+34
- print(a)
- 变量名
- 一般以字母(大小写均可)开头;
- 后面可以使用 下划线_或者数字;
- 大小写敏感;
- 不能与关键字相同(关键字是python语言里面的特殊字符串)
- 不要与内置函数相同)
- 函数(function)
def playfootball():
print("拿起足球")
print("来到球场")
print("分成两队")
print("设法把球踢进对方球门")
print(playfootball)
playfootball()
playfootball()
复制代码
def function():
print("now we are in function")
print("before funtion")
function()
print("after function")
复制代码
- 函数的调用参数
- 定义参数(形参)时的命名规则--和变量一样
- 可以是一个,可以是多个(逗号隔开)
- 函数体里面像变量一样的使用参数
- 调用函数时,传入对应个数的参数(实参)
- 函数的返回值
- return关键字
- 返回对象可以赋值给变量,也可以直接使用
def fool(x):
return x+3
a=fool(3)
a=fool(3)+54
print(fool(3))
print(a)
复制代码
print('''hello world''')
复制代码
print("hello\nworld")
复制代码
- 字符串本身就有引号就里面用单引号外面用双引号,或者里面用双引号外面用单引号
- 字符串拼接用+或省略
print("my name is" "joy")
print("my name is "+"jop")
复制代码
print('we'*3)
复制代码
- sequence操作(序列类型)
- 位置索引 index
- 标志每个元素的位置,用来获取元素
- 从左到右,位置从0开始
>>> str='sdffg'
>>> str[0]
's'
>>> str[-1]
'g'
>>> str[-4]
'd'
>>> str[7]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>>
复制代码
- 切片操作(slice)
- string[start:end]
- string[start:]
- string[:end]
>>> str='sdffg'
>>> str[2:4]
'ff'
>>> str[-4:-1]
'dff'
复制代码
>>> [] 空列表
[]
>>> [1,1.333,'a','abc'] 四个元素
[1, 1.333, 'a', 'abc']
>>> list() 空列表
[]
>>>
复制代码
>>> a=[123,'asddd',4.34,['inner','list']]
>>> a[0]
123
>>> a[3]
['inner', 'list']
>>> a[1:4]
['asddd', 4.34, ['inner', 'list']]
>>> a[:3]
[123, 'asddd', 4.34]
>>> a[1:]
['asddd', 4.34, ['inner', 'list']]
>>> a[3][1] 在列表里的列表
'list'
复制代码
>>> a[0]=4
>>> a
[4, 'asddd', 4.34, ['inner', 'list']]
>>> str='inner'
>>> str[0]='a'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
复制代码
>>> a=1,1.33,'a','abc'
>>> type(a)
<class 'tuple'>
>>> a=(1,)
>>> type(a)
<class 'tuple'>
>>> a 元组
(1,)
>>> a=(1)
>>> a
1
>>> a=1, 不加括号
>>> a
(1,)
>>> a[0]
1
复制代码
- 元组支持切片(不改变原有内容,只有赋值会改变)
- 不支持元素改变
接口自动化
- 现在流行的API接口都是http
- 接口通常是测试后端服务,后端是不是能正常处理。前端页面可以用UI
- 对被测系统输入信息 -检查输出信息
- 接口文档 - 接口消息的构成
- 测试工具 -
- 构造接口消息并发送接收
- 根据测试用例,构造出相应的HTTP请求,发送给服务器
- 内置库 httplib、urllib2
- 第三方库
- urllib3、requests、pyCurl;接收并检查响应消息
下载代码后安装:在python目录下(pip install requests)或
cd requests $ python setup.py install
报错
- 1.存在requests.py的包,删除即可
- 2.存在不同版本的python导致安装识别混乱,方法每个运行下,有成功者删除另外一个
自动化 原理