12.5

 

  UI自动化测试Keys类实战

在UI的自动化测试中,会遇到键盘事件的操作,使用到的类为Keys,导入方式如下:

from selenium.webdriver.common.keys import Keys

  回车

from selenium import  webdriver
from selenium.webdriver.common.keys import Keys
import  time as t

'''键盘事件'''
# 回车
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
so=driver.find_element_by_id('kw')
t.sleep(3)
so.send_keys('五岳')
t.sleep(3)
so.send_keys(Keys.ENTER)
t.sleep(5)
driver.quit()

  

键盘快捷键

from selenium import  webdriver
from selenium.webdriver.common.keys import Keys
import  time as t

'''键盘事件'''
# 回车
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')
so=driver.find_element_by_id('kw')
t.sleep(3)
so.send_keys('五岳')
t.sleep(3)
# 全选
so.send_keys(Keys.CONTROL,'a')
t.sleep(3)
# 复制
so.send_keys(Keys.CONTROL,'c')
t.sleep(3)
# 全部删除
so.send_keys(Keys.BACKSPACE)
t.sleep(3)
# 粘贴
so.send_keys(Keys.CONTROL,'v')
t.sleep(3)
# 回车
so.send_keys(Keys.ENTER)
t.sleep(5)
driver.quit()

  

浏览器的滑动

from selenium import  webdriver
import time as t

driver=webdriver.Chrome()
driver.maximize_window()
driver.get('http://hao123.com')
driver.find_element_by_name('word')
driver.implicitly_wait(30)
t.sleep(3)
# 向下滑动
down="var q=document.documentElement.scrollTop=10000"
driver.execute_script(down)
t.sleep(5)
#向上滑动
up="var q=document.documentElement.scrollTop=0"
t.sleep(5)
driver.execute_script(up)
driver.quit()

  

搜索后页面滑动

from selenium import  webdriver
import time as t

driver=webdriver.Chrome()
driver.maximize_window()
driver.get('http://baidu.com')
driver.implicitly_wait(30)
t.sleep(3)
driver.find_element_by_id('kw').send_keys('五岳')
driver.find_element_by_id('su').click()
t.sleep(3)
# 向下滑动
down="var q=document.documentElement.scrollTop=10000"
driver.execute_script(down)
t.sleep(5)
#向上滑动
up="var q=document.documentElement.scrollTop=0"
t.sleep(5)
driver.execute_script(up)
driver.quit()

  

富文本 
框架id
from selenium import webdriver
import time as t

driver=webdriver.Chrome()
driver.get('https://uutool.cn/ueditor/')
driver.maximize_window()
driver.implicitly_wait(30)

driver.switch_to.frame('ueditor_0')
t.sleep(3)
driver.find_element_by_xpath('/html/body/p').send_keys('测试富文本')
t.sleep(3)
driver.quit()

  

实现在富文本里面输入内容
param driver: webdriver实例化后的对象信息
param content: 富文本里面需要输入的文字内容
return:
from selenium import webdriver
import time as t

def richText(driver,content):

  js="document.getElementById('ueditor_0').contentWindow.document.body.innerHTML='{0}'".format(content)
  driver.execute_script(js)
driver=webdriver.Chrome()
driver.get('https://uutool.cn/ueditor/')
driver.maximize_window()
driver.implicitly_wait(30)

t.sleep(3)
richText(driver=driver,content='使用JS来进行处理')
t.sleep(3)
driver.quit()

  

 时间控件

from selenium import webdriver
import time as t

def startTime(driver,content):
  '''开始时间控件'''
  js="$(\"input[placeholder='开始时间≥当前时间']\").removeAttr('readonly');" \
     "$(\"input[placeholder='开始时间≥当前时间']\").attr('value','{0}')".format(content)
  driver.execute_script(js)

def endTime(driver,content):
  '''结束时间控件'''
  js="$(\"input[placeholder='结束时间>开始时间']\").removeAttr('readonly');" \
     "$(\"input[placeholder='结束时间>开始时间']\").attr('value','{0}')".format(content)
  driver.execute_script(js)

driver=webdriver.Chrome()
driver.get('file:///C:/Users/%E6%A7%91/AppData/Local/Temp/Rar$EXa15004.8662/Time/index.html')
driver.maximize_window()
driver.implicitly_wait(30)
startTime(driver=driver,content='2021.12.3 00:00:00')
t.sleep(3)
endTime(driver=driver,content='2012.12.5 12:00:00')
t.sleep(3)
driver.quit()

  

 
posted @ 2021-12-05 19:00  高。  阅读(163)  评论(0)    收藏  举报