lib/actir/webdriver/browser.rb in actir-1.2.1 vs lib/actir/webdriver/browser.rb in actir-1.2.2

- old
+ new

@@ -32,10 +32,11 @@ def initialize(type = :www, *args) args = init_args(*args) @browser_type = args[:browser] @agent = args[:agent] @env = args[:mode] + @window_size = args[:window_size] if @env == :remote @url = if args[:url] "http://#{args[:url]}/wd/hub" else #TO-DO ,远程模式没有传入IP,改成local模式 @@ -77,32 +78,45 @@ end end # 初始化入参 def init_args(args = {}) + config_exist = File.exist?(config_file) unless args.has_key?(:mode) #若通过actir执行测试用例,则会配置ENV的模式 if ENV["mode"] args[:mode] = ENV["mode"].to_sym else #若ENV为空,则读取配置文件,判断有无配置文件 - if File.exist?(config_file) + if config_exist env = $config["config"]["test_mode"]["env"] args[:mode] = (env == nil) ? :local : env else args[:mode] = :local end end end unless args.has_key?(:browser) - if File.exist?(config_file) + if config_exist browser_type = $config["config"]["test_mode"]["browser"] args[:browser] = (browser_type == nil) ? :chrome : browser_type else args[:browser] = :chrome end end + unless args.has_key?(:window_size) + if config_exist + window_size = $config["config"]["window_size"] + if window_size != nil + width = window_size["width"] + height = window_size["height"] + end + args[:window_size] = (width == nil || height == nil) ? nil : window_size + else + args[:window_size] = nil + end + end args[:agent] = :iphone unless args.has_key?(:agent) args[:url] = $address unless args.has_key?(:url) args end @@ -126,9 +140,11 @@ #重新设置窗口大小,不然phantomjs的ghost driver各种问题 if @browser_type == :phantomjs browser.window.resize_to(PHANTOMJS_SIZE["width"], PHANTOMJS_SIZE["height"]) elsif @env == :remote browser.window.resize_to(REMOTE_SIZE["width"], REMOTE_SIZE["height"]) + elsif @window_size != nil + browser.window.resize_to(@window_size["width"], @window_size["height"]) end browser end #