自动化测试实例(1)

声明

我是跟着黑马的自动化测试课学的,用到的学习资源(包括本地网页文件、源码等)放在网盘了:

链接:https://pan.baidu.com/s/1XSRB6W_h-Ycz4yINPljJAA?pwd=o4de 
提取码:o4de 

一、元素操作方法

1.1 元素操作的意义

(1)让脚本模拟用户给指定元素输入值

(2)让脚本模拟人为删除元素的内容

(3)让脚本模拟点击操作

1.2 元素操作的方法

(1)click()  单击元素

(2)send_keys(value)  模拟输入

(3)clear()  清除文本

1.3 案例

1.4 自动化代码

注意:黑马视频课是19年的,现在很多插件名还有方法的使用都更新了,以下代码是能正确运行的。

from selenium import webdriver
from time import sleep

from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

url = "file:///C:/Users/Administrator/Desktop/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/web%E8%87%AA%E5%8A%A8%E5%8C%96_day01_%E8%AF%BE%E4%BB%B6+%E7%AC%94%E8%AE%B0+%E8%B5%84%E6%96%99+%E4%BB%A3%E7%A0%81/02_%E5%85%B6%E4%BB%96%E8%B5%84%E6%96%99/%E6%B3%A8%E5%86%8CA.html"
driver.get(url)

driver.find_element(By.CSS_SELECTOR,"#userA").send_keys("lagom")

driver.find_element(By.CSS_SELECTOR,"#passwordA").send_keys("123456")

driver.find_element(By.CSS_SELECTOR,".telA").send_keys("12890902887")

driver.find_element(By.CSS_SELECTOR,"#emailA").send_keys("123@qq.com")

sleep(5)

# 输入内容前 先清空(否则会追加)
# 清空 修改手机号
driver.find_element(By.CSS_SELECTOR,".telA").clear()
driver.find_element(By.CSS_SELECTOR,".telA").send_keys("10000000000")

sleep(3)

# 点击注册按钮
driver.find_element(By.CSS_SELECTOR,"button").click()

sleep(3)

driver.quit()




1.5 运行效果

由于运行效果是连续的动态过程,这里只展示部分截图。

二、操作浏览器

2.1 常用方法

【提示】

对于close()与quit(),工作中用的较多的是quit()。

2.2 示例代码

from selenium import webdriver
from time import sleep

from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

url = "file:///C:/Users/Administrator/Desktop/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/web%E8%87%AA%E5%8A%A8%E5%8C%96_day01_%E8%AF%BE%E4%BB%B6+%E7%AC%94%E8%AE%B0+%E8%B5%84%E6%96%99+%E4%BB%A3%E7%A0%81/02_%E5%85%B6%E4%BB%96%E8%B5%84%E6%96%99/%E6%B3%A8%E5%86%8CA.html"
driver.get(url)

driver.maximize_window()
sleep(4)
driver.set_window_size(300,200)
sleep(4)
driver.set_window_size(300,600)

sleep(4)
driver.maximize_window()

driver.find_element(By.PARTIAL_LINK_TEXT,"访问").click()

sleep(4)
driver.back()
sleep(4)
driver.forward()

sleep(2)
driver.quit()

sleep(3)

driver.quit()

2.3 运行效果

2.4 刷新

代码:

from selenium import webdriver
from time import sleep

from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

url = "file:///C:/Users/Administrator/Desktop/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/web%E8%87%AA%E5%8A%A8%E5%8C%96_day01_%E8%AF%BE%E4%BB%B6+%E7%AC%94%E8%AE%B0+%E8%B5%84%E6%96%99+%E4%BB%A3%E7%A0%81/02_%E5%85%B6%E4%BB%96%E8%B5%84%E6%96%99/%E6%B3%A8%E5%86%8C%E5%AE%9E%E4%BE%8B.html"
driver.get(url)
driver.maximize_window()

# 用户名输入admin
driver.find_element(By.CSS_SELECTOR,"#user").send_keys("admin")
# 暂停3秒
sleep(3)
# 刷新
driver.refresh()
# 获取title
title = driver.title
print("当前页面title为:",title)
# 获取当前url
current_url = driver.current_url
print("当前url为:",current_url)
# 点击 注册A网页 打开新窗口
driver.find_element(By.PARTIAL_LINK_TEXT,"注册A网页")
# 暂停3秒
sleep(3)
# 关闭主窗口
driver.close()
# 暂停3秒
sleep(2)
# 退出
driver.quit()

效果:

三、获取元素信息

3.1 意义

(1)如何获取元素文本?

(2)如何获取元素属性值?

(3)如何让程序判断元素是否为可见状态?

3.2 获取元素信息的常用方法

3.3 案例

代码:

from selenium import webdriver
from time import sleep

from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

url = "file:///C:/Users/Administrator/Desktop/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/web%E8%87%AA%E5%8A%A8%E5%8C%96_day01_%E8%AF%BE%E4%BB%B6+%E7%AC%94%E8%AE%B0+%E8%B5%84%E6%96%99+%E4%BB%A3%E7%A0%81/02_%E5%85%B6%E4%BB%96%E8%B5%84%E6%96%99/%E6%B3%A8%E5%86%8C%E5%AE%9E%E4%BE%8B.html"
driver.get(url)
driver.maximize_window()

# 获取用户名文本框大小
size = driver.find_element(By.CSS_SELECTOR,"#user").size
print("用户名大小:",size)
sleep(4)

# 获取页面上第一个超文本链接内容
text = driver.find_element(By.CSS_SELECTOR,"a").text
print("页面中第一个a标签为:",text)
sleep(4)

# 获取页面上第一个超文本链接地址
att = driver.find_element(By.CSS_SELECTOR,"a").get_attribute("href")
print("页面上第一个超文本链接地址:",att)
sleep(4)

# 判断span元素是否可见
display = driver.find_element(By.CSS_SELECTOR,"span").is_displayed()
print("span元素是否可见:",display)
sleep(4)

# 判断 取消 按钮是否可用
# enabled = driver.find_element(By.CSS_SELECTOR,"#cancle").is_enabled()
# print("取消按钮是否可用:",enabled)

# 选中 旅游
driver.find_element(By.CSS_SELECTOR,"#ly").click()

# 判断旅游是否被选中
selected = driver.find_element(By.CSS_SELECTOR,"#ly").is_selected()
print("旅游是否被选中:",selected)
sleep(4)

# 退出
driver.quit()

效果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值