## 上下文管理器 ### 一般的上下文管理器(原版) 通常情况下,上下文管理器是这样的 ```python class MyResource: def __enter__(self): print('connect to resource') return self def __exit__(self, exc_type, exc_val, exc_tb): print('close resource co
发表于:2020-07-02 阅读(138)
## select 选择元素可能需要大量样板代码才能自动化. 为了减少这种情况并使您的测试更干净, 在Selenium的support包中有一个 Select 类. 要使用它,您将需要以下导入语句 ```ruby include Selenium::WebDriver::Support ``` ### 创建select对象 ```ruby select_element = driver.find_element(id: 'selectElementID') select_ob
发表于:2020-07-01 阅读(165)
## 弹框 ### Alerts 警告框 获取文本并关闭警告 ```ruby # Click the link to activate the alert driver.find_element(:link_text, 'See an example alert').click # Store the alert reference in a variable alert = driver.switch_to.alert # Store the alert text in
发表于:2020-06-30 阅读(184)
## 鼠标事件 ### action ```ruby source = driver.find_element(id: "source") target = driver.find_element(id: "target") driver.action.drag_and_drop(source, target).perform ``` ### click ```ruby driver.find_element(css: "input[type='submit']").clic
发表于:2020-06-29 阅读(176)
## 键盘事件 ### sendKeys 即使遇到修饰符键序列, sendKeys也会在DOM元素中键入键序列. Here are the list of possible keystrokes that WebDriver Supports. ```ruby require 'selenium-webdriver' driver = Selenium::WebDriver.for :firefox begin # Navigate to URL driver.get
发表于:2020-06-28 阅读(180)
## 定位 定位有多种方式,id,class,css,xpath等。 ### id ```ruby cheese = driver.find_element(id: 'cheese') # 链式查找 cheese = driver.find_element(id: 'cheese') cheddar = cheese.find_element(id: 'cheddar') ``` ### css ```ruby driver.find_element(css: '#chee
发表于:2020-06-27 阅读(184)
## frames ```html Click here ``` ```ruby # 这不会工作 driver.find_element(:tag_name,'button').click ``` ### 使用iframe并切换 ```ruby # Store iframe web element iframe = driver.find_element(:css,'#modal> iframe') ### 切换到 frame driver.swit
发表于:2020-06-26 阅读(165)
## 窗口 ### 窗口的设置 #### 创建 ```ruby # 注意:ruby 中的 new_window 只打开一个新标签页(或)窗口,不会自动切换 # 用户必须切换到新选项卡 (或) 新窗口 # 打开新标签页并切换到新标签页 driver.manage.new_window(:tab) # 打开一个新窗口并切换到新窗口 driver.manage.new_window(:window) ``` #### 切换窗口或者标签页 ```ruby # 存储原始窗口的 ID
发表于:2020-06-25 阅读(175)