美文网首页
自动化测试超简洁教程

自动化测试超简洁教程

作者: yahzon | 来源:发表于2019-05-21 17:12 被阅读0次

测试工作存在大量重复性,尤其是回归测试。为了避免新功能,造成不可预料的影响,最好是整个系统流程走一遍,这样自动化测试就显得非常重要。

1. python安装

selenium支持采用java、.net、JavaScript、python、Perl等多种方式编写自动脚本。python语法简洁,这里推荐使用python。

python目前主流版本分为python2和python3使用selenium必需安装python3才行。官网下载python3,安装即可,注意安装时勾选 “添加到path环境变量"或者 ”Add Python3.5 to PATH“。

2. selenium安装

成功安装python后,安装selenium 直接执行 pip install -U selenium 即可。

安装完selenium 后,为了使其能够自动操作浏览器,还需安装浏览器driver,推荐Google chrome浏览器。下载chrome驱动 ,下载页面有很多版本选择,driver版本需要和支持浏览器版本一致才行。driver自版本2.9后,最新版的驱动已经和浏览器版本一致。

查看浏览器版本:帮助--关于chrome 查询chrome版本为74.0.3729下载对应的驱动即可。

image.png

下载对应版本的chrome驱动,文件是exe格式,找个目录保存存放该文件即可。为了让selenium脚步能够使用驱动,需要把path to chromedrive.exe path 添加到环境变量

image.png

3. 脚本编写

安装好selenium 及chrome浏览器驱动后,我们可以编写一个测试脚本,使用selenium操作chrome浏览器,在百度里搜索一下cheese! 代码如下

from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0

# Create a new instance of the Firefox driver
driver = Chrome()

# go to the google home page
driver.get("http://www.baidu.com")

# the page is ajaxy so the title is originally this:
print(driver.title)

# find the element that's name attribute is q (the google search box)
#inputElement = driver.find_element_by_name("q")
searchBox = driver.find_element(by=By.ID,value='kw')

# type in the search
searchBox.send_keys("cheese!")

# submit the form (although google automatically searches now without submitting)
searchBox.submit()

try:
    # we have to wait for the page to refresh, the last thing that seems to be updated is the title
    WebDriverWait(driver, 10).until(EC.title_contains("cheese!"))

    # You should see "cheese! - Google Search"
    print(driver.title) 

finally:
    driver.quit()

4、 运行脚本

复制上面代码到,到D:\test\hello_seleninum.py 保存文件。

打开cmd ,依次执行下面的操作:

d:
cd d:\test
python hello_seleninum.py

可以看到浏览器被自动打开,然后进入百度,并搜索cheese!


image.png image.png
提示消息对话(prompt)
  提示消息框提供了一个文本字段,用户可以在此字段输入一个答案来响应您的提示。该消息框有一个"确定"按钮和一个"取消"按钮。选择"确认"会响应对应的提示信息,选择"取消"会关闭对话框。

selenium 提供switch_to_alert()方法定位到 alert/confirm/prompt对话框。使用 text/accept/dismiss/send_keys 进行操作,这里注意的是send_keys只能对prompt进行操作。

switch_to_alert()   #定位弹出对话
text()                   #获取对话框文本值
accept()                   #相当于点击"确认"
dismiss()                  #相当于点击"取消"

读取配置文件:

import configparser
from until.file_system import get_init_path

conf = configparser.ConfigParser()
file_path = get_init_path()
print('file_path :',file_path)
conf.read(file_path)

sections = conf.sections()
print('获取配置文件所有的section', sections)

options = conf.options('mysql')
print('获取指定section下所有option', options)


items = conf.items('mysql')
print('获取指定section下所有的键值对', items)


value = conf.get('mysql', 'host')
print('获取指定的section下的option', type(value), value)
image.png

相关文章

网友评论

      本文标题:自动化测试超简洁教程

      本文链接:https://www.haomeiwen.com/subject/bonjzqtx.html