2. 抽取SelectFlightPage
登录成功之后,顾客进入了航班选择页面。与登录页面不同,这里的每个操作很可能被不同的开发人员修改,所以我们把每个操作都抽取为一个函数。把光标移到这一行
click_radio_option("tripType", "oneway")
再次执行“Extract to Page...”重构命令(Ctrl+Alt+G),给新的Page对象和函数名输入“SelectFlightPage”和“select_trip_oneway”。
select_flight_page = expect_page SelectFlightPage
select_flight_page.select_trip_oneway
3. 继续抽取更多的操作到SelectFlightPage对象
继续把“SelectFlightPage”上的操作重构成函数:“select_from_new_york”、“select_to_sydney”和“click_continue”。
test "[1] one way trip" do home_page = expect_page HomePage home_page.login select_flight_page = expect_page SelectFlightPage select_flight_page.select_trip_oneway select_flight_page.select_from_new_york select_flight_page.select_to_sydney select_flight_page.click_continue assert_text_present("New York to Sydney") end |
跟往常一样,我们再一次运行测试用例。
编写测试用例002
在重构完测试用例001之后,我们现在有了2个Page对象(“HomePage”和“SelectFlightPage”),因此(通过重用它们)编写测试用例002会容易很多
1. 使用已有的HomePage
iTest2 IDE内置支持Page对象,输入“ep”再敲“Tab”制表键(称为“snippets”),就能自动补全为“expect_page”并且弹出所有已知的Page对象以供选择。
图 3. 自动补全Page对象
我们就能得到
expect_page HomePage
为了使用HomePage,我们需要持有它的句柄(在编程世界中,也被称为‘变量’)。执行“Introduce Page Variable”重构动作(Ctrl+Alt+V)创建一个新变量。
图 4. ‘Refactor’菜单 - “Introduce Page Variable”菜单项
home_page = expect_page HomePage
现在在新行中输入“home_page.”,会自动提示这个Page对象中定义的函数供你选择。
图 5. Page对象函数查找