UI自动化第六天

一.条件框的输入

from  selenium import webdriver
import time as t


driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.bejson.com/ui/ueditor/')
#进入iframe框架
driver.switch_to.frame('ueditor_0')
t.sleep(3)
driver.find_element_by_xpath('/html/body/p').send_keys('请输入密码')
t.sleep(5)
driver.quit()

js进行执行

def richText(driver,richID,content):
  '''
  :param driver: 指的是webdriver实例化后的对象
  :param richID: iframe框架的ID
  :param content: 被输入的内容
  :return:
  '''
  js="document.getElementById('{0}').contentWindow.document.body.innerHTML='{1} '".format(richID,content)
  driver.execute_script(js)
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.bejson.com/ui/ueditor/')
richText(driver=driver,richID='ueditor_0',content='python')
t.sleep(5)
driver.quit()
WebDriverWait类的详解
等待在UI自动化测试中存在三种情况
1.固定等待,使用的是体面人库来实现的
2.隐式等待,设置最长等待时间
3.显示等待,程序每隔一段时间执行自定义的程序判断条件。案例主要以显示等待来演示它的应用,
使用到的类式webdriverwait的类
'''隐式等待'''
 driver=webdriver.Chrome()
 driver.maximize_window()
 driver.get('https://mail.sina.com.cn')
 driver.implicitly_wait(30)
 t.sleep(3)
 driver.quit()

指定文本的位置:一般验证一个文本的错误信息或者提示信息,以及其他信息

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as es
from selenium.webdriver.common.by import By

driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com')
so=WebDriverWait(driver=driver,timeout=10).until(es.element_to_be_clickable((By.ID,'kw')))
so.send_keys('hello world')
t.sleep(3)
driver.quit()

判断元素是否可见:主要应用于判断在可见后,进行一系列的操作。

driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com')
so=WebDriverWait(driver=driver,timeout=4).until(es.visibility_of_element_located((By.ID,'kw')))
so.send_keys('hellow world')
t.sleep(3)
driver.quit()

 

 
posted @ 2021-08-16 15:00  蒋佳伟  阅读(89)  评论(0)    收藏  举报