我有一个小任务来创建ruby + webdriver测试脚本。但我只能使用ruby和webdriver。如果没有Rspec或测试单元,你能给我一些建议吗? 此外,我需要使用一些OOP模型进行此测试。
以下要求:
测试用例
要求:
目前我已经完成了1-5步并坚持了6步。我需要以哈希哈希的方式保存用户数据,然后再进行下一步。
# encoding: utf-8
require "selenium-webdriver"
require "test/unit"
class Tests < Test::Unit::TestCase
def setup
@keyword = "qa tester"
@driver = Selenium::WebDriver.for :firefox
@base_url = "https://www.odesk.com"
@driver.manage.timeouts.implicit_wait = 30
end
def teardown
@driver.quit
end
def element_present?(how, what)
@driver.find_element(how, what)
true
rescue Selenium::WebDriver::Error::NoSuchElementError
false
end
def test_1
@driver.get(@base_url + "/")
@driver.find_element(:link, "Hire Freelancers").click
@driver.find_element(:name, "q").clear
@driver.find_element(:name, "q").send_keys @keyword
@driver.find_element(:css, "input.oSearchSubmit").click
end
end
答案 0 :(得分:0)
正如orde提到的那样,您的问题相当广泛,但您至少可以通过修改“test_1”方法开始执行第6步,以便解析无序的搜索结果列表:
def test_1
@driver.get(@base_url + "/")
@driver.find_element(:link, "Hire Freelancers").click
@driver.find_element(:name, "q").clear
@driver.find_element(:name, "q").send_keys @keyword
@driver.find_element(:css, "input.oSearchSubmit").click
results_list = @driver.find_element(:xpath, "//ul[@class='oSearchResultsList']")
individual_results = results_list.find_elements(:xpath, "//li[@class='oSearchResultItem']")
individual_results.each do
# do some parsing of each search result here
end
end
此时,您只需决定要提取哪些特定数据元素并填充哈希值(或您选择的任何数据结构)。