ui自动化


一.ui自动化的概念

自动化测试就是通过代码或者是工具模拟人的行为来进行对WEB(APP)来进行操作。

selenium:是WEB的UI测试框架,可以和主流的编程语言(Python,Java,Net,PHP,JavaScript)整合来测试WEB系统,同时也是支持主流的浏览器(IE,Firefox,Chrome)。Selenium通过driver的驱动方式来操作浏览器,对浏览器进行各种交互式的验证(点击,输入,下拉框选项。。。)

elenium环境搭建步骤:

1、按照selenium :pip install selenium

2、安装Chrome浏览器

3、下载driver的驱动,并且把数据配置到path的环境变量

  A、driver的驱动要与浏览器的版本完全匹配(99%)

  B、把driver的应用程序放在python的安装目录下

在selenium框架中,操作元素定位使用的类是By,里面方法有8种,那么也就是说,定位页面的元素属性方法有8种,分别是:

1 """引入selenium自动化测试工具,添加webdriver方法和By方法
2 from selenium import webdriver
3 from selenium.webdriver.common.by import By

1,ID:类似身份证,在前端中,规定id为唯一性

driver.find_element(By.ID,'kw')

2,NAME:类似于人名

driver.find_element(By.NAME,'DW')

 

3,CLASS_NAME:class指定元素的类名

driver.find_element(By.CLASS_NAME,'kw')

 

4,TAG_NAME:通过元素的签名来定位

list1=driver.find_elements_by_tag_name('input')
list1[7].send_keys('4399')
t.sleep(5)

 

5,XPATH:基于路径

ui自动化

 

 当id为动态的时候,使用full xpath

driver.find_element(By.XPATH,'kw')

 

6,LINK_TEXT:超链接

driver.find_element(By.LINK_TEXT,'视频')

 

7,PARTIAL_LINK_TEXT:超链接的补充

driver.find_element(By.PARTIAL_LINK_TEXT,'视频')

 

8,CSS_SELECTOR:基于样式

css方法时查看对应属性

ui自动化

 

 

 

driver.find_element(By.CSS_SELECTRO,'kw')

二,常用的方法

1,获取网址

print(driver.current_url)#获取网址

2,获取源代码

print(driver.page_source)#获取源代码

3,获取标题

print(driver.title)#获取标题(特性方法)

4,前进与后退

driver.back():后退
driver.forward:前进

5,多窗口的处理

driver=webdriver.Chrome()
driver.get('https://mail.sina.com.cn/')
nowHandler=driver.current_window_handle
t.sleep(3)
driver.find_element(By.LINK_TEXT,'注册').click()
t.sleep(3)
allHandlers=driver.window_handles
for handler in allHandlers:
    if handler!=nowHandler:
        #切换新的窗口
        driver.switch_to.window(handler)
        driver.find_element(By.NAME,'email').send_keys('dsada')
        t.sleep(3)
        driver.close()
        t.sleep(3)
driver.switch_to.window(nowHandler)
driver.find_element(By.ID,'freename').send_keys('sadasda')
t.sleep(3)

6,清空

driver=webdriver.chrome()
driver.get(http://www.baidu.com)
driver.find_element(By.NAME,'k').clear()
driver.quit()

7,get_attribute():获取元素属性的值

driver=webdriver.Chrome()
driver.get('https://www.baidu.com/')
sd=driver.find_element(By.ID,'kw')
sd.send_keys('dasda')
t.sleep(3)
print(sd.get_attribute('value'))
t.sleep(3)
driver.quit()

8, is_enabled:查看是否可编辑

  is_selected:查看是否可勾选

  is_displayed:查看是否可隐藏

三种方法具体操作相同,现就举一个例子:三种都是判断,返回True and False

driver=webdriver.Chrome()
driver.get('https://www.baidu.com/')
sd=driver.find_element(By.ID,'kw')
t.sleep(3)
print(sd.is_enabled())
t.sleep(3)
driver.quit()

 

三,iframe学习

进入iframe的三种方法
1,ID
2,NAME
3,索引

1,ID方法

 

driver.switch_to.frame('login_frame')

 

2,NAME方法

driver.switch_to.frame('login_frame')

3,索引的方法

driver.switch_to.frame('1')

 

原创文章,作者:jamestackk,如若转载,请注明出处:https://blog.ytso.com/270609.html

(0)
上一篇 2022年6月28日
下一篇 2022年6月28日

相关推荐

发表回复

登录后才能评论