玩转UI自动化测试3

1.Selenium 模拟键盘事件

  需要先引包:from selenium.webdriver.common.keys import keys

 Actions类的send_keys,发送某个键到当前焦点元素,如tab,enter等,包括安卓自动化的点亮屏幕

 代码示例:

  from selenium import webdriver
  from selenium.webdriver.common.action_chains import ActionChains
  from selenium.webdriver.common.keys import Keys
  import time
  driver = webdriver.Chrome()
  driver = webdriver.Chrome(executable_path='./chromedriver.exe')
  driver.get("http://8.141.52.231/shop/index.php?con=simple&act=login")
  driver.maximize_window()
  # 定位到输入框,输入账号
  driver.find_element_by_id("email").send_keys("admin@admin.com")
  ac = ActionChains(driver)
  # 按住TAB键定位到密码框
  ac.send_keys(Keys.TAB)
  # 输入密码
  ac.send_keys("111111")
  # 按住TAB键定位到登陆按钮
  ac.send_keys(Keys.TAB)
  # 按住回车键键实现登陆操作
  ac.send_keys(Keys.ENTER)
  ac.perform()
  time.sleep(10)
  driver.close()

2.Selenium 植入cookie

  通过driver的add_cookie方法实现,不一定实用

  driver.get("http://8.141.52.231/shop/index.php?con=simple&act=login")
  driver.add_cookie({"name": "Tiny_autologin", "value": 'sadadadas'})
  driver.add_cookie({"name": "PHPSESSID", "value": 'mki9saadaadsa'})
  driver.refresh()

3.Selenium弹窗跳转操作

  # 1.警告框跳转
  driver.get("file:///D:/Software/selenium_webdriver/demo.html")
  driver.maximize_window()
  driver.find_element_by_class_name("alert").click()
  alert = driver.switch_to.alert
  # 点击确定按钮,关闭警告框
  alert.accept()
  # 点击取消按钮,关闭警告框
  alert.dismiss()
  # 获取警告框文本内容
  alert.text
  # 向警告框中输入内容
  alert.send_keys("xxxxx")

4.Selenium 窗口跳转操作

  #窗口跳转 句柄,首先要获取句柄,driver.window_handles方法可以获取浏览器句柄

  # 先跳转到百度页
  driver.find_element_by_link_text("Open baidu").click()
  time.sleep(2)
  # 切换到百度的浏览器句柄
  driver.switch_to.window(driver.window_handles[-1])
  # 在百度页面搜索框输入关键字selenium进行搜索
  driver.find_element_by_id("kw").send_keys("selenium")
  time.sleep(2)
  # 切换到第一个浏览器句柄
  driver.switch_to.window(driver.window_handles[0])
  # 在user输入框中输入haha
  driver.find_element_by_id("user").send_keys("haha")
  time.sleep(2)
  # 浏览器退出
  driver.quit()
  # 补充,获取到当前浏览器的句柄
  driver.current_window_handle

5.Selenium frame跳转

 driver.switch_to.frame('frame_name')
driver.switch_to.frame(1)
driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0])
# 跳转到frame的name为aa的frame
driver.switch_to.frame("aa")
# 在 frame下输入关键字手机
 driver.find_element_by_id("search-keyword").send_keys("手机")
# 跳转到原始页面
driver.switch_to.default_content
# 跳转到上一级frame
driver.switch_to.parent_frame
# 在原始页面找到属性id为user,输入haha
 driver.find_element_by_id("user").send_keys("haha")
 
  
posted @ 2022-06-05 15:02  maxwell11  阅读(32)  评论(0编辑  收藏  举报