软件测试之自动化测试(Day2)

一、今日练习:

from selenium import webdriver
import time
from selenium.webdriver.common.by import By
driver=webdriver.Chrome(r"C:\Users\墨,漓汐\Downloads\chromedriver.exe")
#隐式等待 :implicitly_wait()
driver.implicitly_wait(12)
driver.get("https://music.163.com/")
driver.maximize_window()
#driver.find_element(By.ID,"kw").send_keys("https://music.163.com/")
#time.sleep(2)
driver.find_element(By.XPATH,"//a[text()='登录']").click()
#time.sleep(2)
driver.find_element(By.XPATH,"//a[text()='选择其他登录模式']").click()
#time.sleep(3)
driver.find_element(By.ID,"j-official-terms").click()
#time.sleep(3)
driver.find_element(By.XPATH,"//a[text()='QQ登录']").click()
time.sleep(10)
#driver.set_window_position(driver.window_handles[2])
driver.find_element(By.XPATH,"//a[text()='密码登录']").click()
time.sleep(5)

1.问题描述:

原计划是要通过打开谷歌浏览器进入网易云官网,在官网页面利用Xpath定位中的文本内容匹配到“登录”,通过click()点击该按钮。还利用了ID元素定位,在最后的定位为本内容“密码登录”却未找到该元素,实现登录失败,初步分析原因是:在点击“QQ登录”按钮,当前页面进行了跳转,打开了新的网页页面,但是定位的时候,却还在以前的页面进行定位,自然而然定位失败,无法找到该元素,实行不了点击密码登录。

2.收获:在昨天的Day1基础上,新学了隐式等待xpath文本内容定位、name定位。time.sleep()是强制等待。当使用过多的time.sleep(),会影响脚本的运行速度,于是选择隐式等待implicitly_wait(),在加载页面时自动等待,并且只需要在打开浏览器之前声明一次,减少重复代码的书写。(学习selenium的三种等待方式的链接

xpath文本内容定位代码书写:语法://a[text()='文本内容'],标签为a文本信息为"文本内容"。

driver.find_element(By.XPATH,"//a[text()='文本内容']")

ID定位:driver.find_element(By.ID,"ID属性值")

NAME定位:driver.find_element(By.NAME,"name属性值")

class_name定位:driver.find_element(By.CLASS_NAME,"class_name属性值")

tag_name定位:driver.find_element(By.TAG_NAME,"标签名")

注:tag_name是通过标签名称来定位的,如果标签名重复,默认返回的是第一个符合的元素。

link_text元素定位:driver.find_element(By.LINK_TEXT,"a标签的全部文本内容")

注:link_text 只能使用精准的匹配。且必须根据链接上完整的文本内容去进行定位。

学习自动化测试中的元素定位可参考:学习八大元素定位资源链接

3.需要背记的代码:

from selenium import webdriver

from selenium.webdriver.common.by import By

driver.implicitly_wait(自动等待的最大化时间,单位为秒)

driver=webdriver.Chrome(“下载chromedriver.exe的存放路径”)

4.明日学习任务:

Selenium复数元素定位方法、11)Selenium之鼠标模拟操作、12)Selenium之键盘模拟操作、13)Selenium之sumbit()方法使用、15)Selenium之页面中下拉框的处理、16)Selenium之操作下拉滚动条方法、17)Selenium之窗口切换、18)Selenium之页面元素属性删除、19)Selenium之文件上传处理、20)Selenium之页面截图操作、21)Selenium之alert弹出框处理、22)unittest自动化测试框架、23)读取csv文件、24)数据驱动、25)数据断言

干就完了!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值