工作积累--WebUI自动化的学习之路(遇到的问题)

1.SELENIUM 执行DRIVER = WEBDRIVER.FIREFOX()时报错解决方案:
链接:https://www.cnblogs.com/bzdmz/p/10320514.html
2.第一个自动化脚本所遇到的问题:
①:要下载浏览器的插件(如IE、Firefox、Chrome)
②:将下载的插件放入到浏览器的安装目录并配置环境变量
③:将下载的插件放入到python的安装目录下(示例: Programs\Python\Python36)
④:find_element_by_*** 的应用
链接:https://selenium-python- zh.readthedocs.io/en/latest/locating-elements.html
⑤:获取元素的值
⑥:将获取到的值与测试值进行比较

# conding=utf-8
import time						 #导入时间模块
from selenium import webdriver   # 导入webdriver包
 
driver = webdriver.Firefox()    # 初始化一个火狐浏览器实例:driver
 
driver.maximize_window()        # 最大化浏览器
'''设置隐式时间等待,当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待;
超出设定时间后则抛出找不到元素的异常,换句话说,当查找元素或元素并没有立即出现的时候,隐式等待
将等待一段时间在查找DOM,默认时间是0,一旦设置了隐式等待,则它存在整个WebDriver对象实例的生命周期中
隐式等待会让一个正常响应的应用的测试变慢,它将会在寻找每个元素的时候都进行等待,这样会增加整个测试执行
的时间'''
driver.implicitly_wait(8)			#设置隐式时间等待

driver.get("http:www.baidu.com")#.send_keys(Keys.Enter)  # 通过get()方法,打开一个url站点

driver.find_element_by_xpath('//*[@id="kw"]').send_keys('selenium')#获取文本框id,并在文本框里输入内容

driver.find_element_by_xpath('//*[@id="su"]').click() #触发搜索点击

time.sleep(5)		#推迟调用函数的运行,语法:time.sleep(t)

ele_string = driver.find_element_by_xpath("//*[@id='2']/h3/a").text #获取要测试的元素值,并赋值

print(ele_string)

if (ele_string == u"Selenium_百度百科"):
	print("测试成功,结果和预期结果匹配!")
else :
	print("测试失败,结果和预期结果不匹配!")
driver.quit()


3.练习场景:在某一个网页上有些字段是我们感兴趣的,我们希望摘取出来,进行其他操作。但是这些字段可能在一个网页的不同地方。例如,我们需要在关于百度页面-联系我们,摘取全部的邮箱。

# coding=utf-8
from selenium import webdriver		#导入webdriver包
import re							#用来匹配字符串的 	链接:https://blog.csdn.net/likunkun__/article/details/81707883

driver = webdriver.Firefox() #初始化火狐浏览器
driver.maximize_window()	 #最大化浏览器
driver.implicitly_wait(6)	 #设置隐式时间等待
driver.get("http://home.baidu.com/contact.html") #通过get方法,打开url站点	
#得到页面源代码
doc = driver.page_source
#利用正则,找出XX@XXX.XX的字段,保存到emails列表
emails = re.findall(r'[\w]+@[\w\.-]+',doc) 
for email in emails:
	print(email)	
	
	

4.通过元素节点信息ID来定位该元素,使用id来定位元素;id定位元素效率高于XPath。

# conding=utf-8
from selenium import webdriver	#导入web驱动模块

driver = webdriver.Firefox()  #初始化火狐浏览器

driver.maximize_window()	#浏览器窗口最大化

driver.implicitly_wait(6)	#设置隐式等待

driver.get("https://www.baidu.com") #通过get站点打开url站点
try:
	driver.find_element_by_id("kw")	#利用find_element_by_id()方法来定位元素对象
	print('test pass: ID found')
except Exception as e:
	print("Exception found" ,format(e))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值