首页 > 其他分享 >Selenium47-实现添加赛区有效用例

Selenium47-实现添加赛区有效用例

时间:2022-12-30 11:55:49浏览次数:49  
标签:XPATH 赛区 driver element 滚动条 用例 Selenium47 find

添加赛区_001总体流程

  • 查询后如果存在就删除
  • 添加时输入赛区
  • 滚动条滑动到底部
  • 提交后检查添加成功
  • 滚动条滑动到顶部
  • 查询存在该赛区信息

定位难点分析

难点1:提交无法定位
原因:提交按钮在界面下方,默认无法定位它,需要把滚动条拖拽到底部。
难点:在frame里无法滚动纵向滚动条。
解决方案:切换回默认主网页,然后把滚动条拖拽到底部。
难点2:无法定位到提示信息
原因:frame有三层嵌套,提示信息不在主网页里,也不在最里层。
解决方案:切换回上一层网页,打印网页源代码,确认提示信息在哪一层。

查询后如果存在就删除

  • 顺序实现:查询、如果存在就删除
driver.find_element(By.ID,"_easyui_textbox_input1").clear()
driver.find_element(By.ID,"_easyui_textbox_input1").send_keys("A")
driver.find_element(By.XPATH,"//span[text()='查询']").click()#查询
sleep(2)
if is_element_present(By.XPATH,"//td[@field='name']/div[text()='A']"):
    d=driver.find_element(By.XPATH,"//td[div='A']/../td[@field='view']/div/a[2]")
    d.click()#删除
    driver.find_element(By.XPATH,"//span[text()='确定']").click()

添加时输入赛区

  • 顺序实现:添加时输入赛区
driver.find_element(By.XPATH,"//span[text()='添加赛区']").click()
WebDriverWait(driver,20).until_not(expected_conditions.presence_of_element_located((By.ID,"Loading")))
WebDriverWait(driver,13).until(expected_conditions.frame_to_be_available_and_switch_to_it("frmDlg"))
name_input=driver.find_element(By.ID,"_easyui_textbox_input1")
name_input.clear()
name_input.send_keys("A")

滚动条滑动到底部

  • 顺序实现:滚动条滑动到底部
driver.switch_to.default_content()
js = 'window.scrollTo(0, document.body.scrollHeight);'
driver.execute_script(js)# 滚动条滑动到底部
WebDriverWait(driver,20).until(expected_conditions.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe[@data-itemid='213']")))
WebDriverWait(driver,13).until(expected_conditions.frame_to_be_available_and_switch_to_it("frmDlg"))
sleep(2)

提交后检查添加成功

  • 顺序实现:提交后检查“添加成功”
submit_button=driver.find_element(By.ID,"pButton_ctlSave")
submit_button.click()#提交
sleep(1)
driver.switch_to.parent_frame()
assert is_element_present(By.XPATH,"//div[text()='赛区信息保存成功']")
WebDriverWait(driver,20).until_not(expected_conditions.presence_of_element_located((By.XPATH,"//div[text()='赛区信息保存成功']")))

滚动条滑动到顶部

  • 顺序实现:滚动条滑动到顶部
driver.switch_to.default_content()
js2="window.scrollTo(document.body.scrollHeight, 0);"
driver.execute_script(js2)# 滚动条滑动到顶部
WebDriverWait(driver,20).until(expected_conditions.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe[@data-itemid='213']")))
WebDriverWait(driver,20).until_not(expected_conditions.presence_of_element_located((By.ID,"Loading")))

查询存在该赛区信息

driver.find_element(By.ID,"_easyui_textbox_input1").clear()
driver.find_element(By.ID,"_easyui_textbox_input1").send_keys("A")
driver.find_element(By.XPATH,"//span[text()='查询']").click()#查询
sleep(2)
assert is_element_present(By.XPATH,"//td[@field='name']/div[text()='A']")

参考添加赛区_001的代码,实现添加赛区_002到添加赛区_006

标签:XPATH,赛区,driver,element,滚动条,用例,Selenium47,find
From: https://www.cnblogs.com/sean-test/p/17014532.html

相关文章