(三) selenium元素定位和常用操作(下)

上一篇:(二) selenium元素定位(上)_要开朗的spookypop的博客-CSDN博客

本篇继续介绍常用的元素定位和常用操作。

通过链接文本定位

alerts弹窗

浏览器窗口操作


1、通过链接文本定位

上图是一个返回首页的链接,点击后跳转到首页,元素定位关键代码:

driver.find_element(By.LINK_TEXT, '返回首页')

完整代码如下:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager

try:
    service = ChromeService(executable_path=ChromeDriverManager().install())
    driver = webdriver.Chrome(service=service)
    driver.get('http://www.softwarebox.club/pages/OnlineTools/AutoLearn')
    # 点击链接返回首页
    driver.find_element(By.LINK_TEXT, '返回首页').click()
    driver.quit()


except Exception as e:
    print('用例执行失败')
    print(e)

2、alerts弹窗操作

对于警告弹窗、确认框等,常用的操作是对话框确认、关闭弹窗、获取弹窗的内容等。代码实战演示这些操作。

用户注册测试用例:

步骤1:浏览器打开注册页面

步骤2:输入符合需求格式的用户名

步骤3:输入不符合格式要求的密码

预期结果:注册失败,弹窗提示密码错误信息

上述测试用例转换为代码如下

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from webdriver_manager.chrome import ChromeDriverManager

# 测试用户注册,输入不符合格式要求的密码,注册失败
try:
    service = ChromeService(executable_path=ChromeDriverManager().install())
    driver = webdriver.Chrome(service=service)
    driver.get('http://www.softwarebox.club/pages/OnlineTools/AutoLearn')
    driver.find_element(By.ID, 'username').send_keys('小黄')
    # 输入的密码不符合格式要求(注:密码必须为6-18位,大小写字母和数字的组合)
    driver.find_element(By.ID, 'password').send_keys('123456')
    # 点击注册按钮
    driver.find_element(By.CSS_SELECTOR, '#contentmain > section > div.center > form > button:nth-child(7)').click()
    wait = WebDriverWait(driver, 10)
    # 等待弹窗显示
    alert = wait.until(expected_conditions.alert_is_present())
    # 验证弹窗信息不是"注册成功"
    assert alert.text != '注册成功', '用例不通过'
    print('弹窗信息:' + alert.text)
    # 点击弹窗的确认按钮,关闭弹窗
    alert.accept()
    print('用例通过')
    driver.quit()


except Exception as e:
    print('用例执行失败')
    print(e)

运行结果:

弹窗信息:密码必须为6-18位,大小写字母和数字的组合
用例通过

Process finished with exit code 0

3、浏览器窗口操作

常用操作如下:

driver.refresh()

当前页面刷新

driver.maximize_window()

浏览器窗口最大化

driver.set_windows_size()

设置浏览器窗口大小

driver.close()

关闭浏览器窗口

driver.forward()

浏览器前进一页

driver.back()

浏览器返回上一页

下一篇:(四)selenium自动化测试之上传本地文件_要开朗的spookypop的博客-CSDN博客_selenium上传本地文件

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天向上的spookypop

喜欢不吝点桃心,土豪也可赏酒钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值