''' 1.你的自动化是如何落地的? 遇到了什么难点 2. 遇到哪些比较难定位的元素,你是如何定位的? 3. 验证码问题你是如何解决的 4. 你的自动化框架是如何设计的? ''' """ 测试流程 1). 立项-->文档-->代码编写-->单元测试-->测试准入-->功能测试-->性能测试-->集成测试-->测试报告-->上线部署-->线上回归 何时开始自动化才是最好的时间点 1). 测试准入-->自动化切入点1 2). 集成测试-->自动化切入点2 3). 线上回归-->自动化切入点3 落地过程当中具体难点有哪些 1). 前端代码改动大,频繁或者不规范致使元素很差定位 2). 自动化刚开始时,测试人员编码规范以及架构设计不统一 """ '''下拉框如何定位的''' from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.jd.com") driver.set_window_size(600,800) # js 代码 滚动条滑动到最下方 js = "window.scrollTo(10000,10000);" driver.execute_script(js) '''时间控件如何定位''' from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.12306.cn/index/") # 把控件变成可输入的 js = "document.getElementById('train_date').removeAttribute('readonly')" driver.execute_script(js) driver.find_element_by_id("train_date").clear() driver.find_element_by_id("train_date").send_keys("2019-5-1") '''web弹出提示框如何处理''' # 第一种页面弹框处理如:百度页面的登陆 from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www.baidu.com") driver.find_element_by_link_text("登陆").click() time.sleep(3) driver.find_element_by_id("TANGRAM__PSP_10__footerULoginBtn").click() driver.find_element_by_id("TANGRAM__PSP_10__userName").send_keys("aaa") # 第二种浏览器自带弹出框定位 from selenium import webdriver import time driver = webdriver.Chrome() driver.get("file:///D:/pycharm/Interface_new_2019-3-7_mooc/Util/test_message.html") # 操做系统弹框 driver.find_element_by_id("alert").click() alert = driver.switch_to.alert time.sleep(2) alert.accept() driver.find_element_by_id("confirm").click() alert = driver.switch_to.alert time.sleep(1) alert.accept() driver.find_element_by_id("prompt").click() alert = driver.switch_to.alert time.sleep(1) alert.send_keys("aaaa") time.sleep(2) alert.accept() """如何切换控制浏览器句柄""" driver = webdriver.Chrome() driver.get("http://www.sohu.com/") window = driver.current_window_handle driver.find_element_by_link_text("新闻").click() windows = driver.window_handles for current_windows in windows: if current_windows != window: driver.switch_to.window(current_windows) # 也能够这样写(-1就是表明最新的) # driver.switch_to.window(windows[-1]) time.sleep(2) driver.quit()