Module: Actir::Remote
- Defined in:
- lib/actir/remote.rb
Overview
远程测试环境相关的方法
@author: Hub
@Date: 2015-3-6
Class Method Summary collapse
-
.get_remote_address(num = 0) ⇒ Object
获取远程selenium测试环境的docker镜像的IPAddress.
-
.is_local? ⇒ Boolean
判断执行环境是否是本地环境(Mac).
Class Method Details
.get_remote_address(num = 0) ⇒ Object
获取远程selenium测试环境的docker镜像的IPAddress
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/actir/remote.rb', line 23 def self.get_remote_address(num = 0) @docker_cfg = Actir::Config.get("config.test_mode.docker") if @docker_cfg == nil docker_ip = @docker_cfg["ip"] node_sub_name = ( (@docker_cfg["name"] == nil || @docker_cfg["name"] == "") ? "-node" : @docker_cfg["name"]) docker_node_name = $env + node_sub_name docker_inspect_str = "docker inspect -f='{{.NetworkSettings.IPAddress}}' \\`docker ps | grep #{docker_node_name} | grep 5900 | awk '{print \\$11}'\\`" #需要判断执行脚本的环境是本地还是Linux服务器,本地需要ssh puts docker_inspect_str if $debug ip_str = if is_local? `ssh root@#{docker_ip} "#{docker_inspect_str}"` else `#{docker_inspect_str}` end ip_array = ip_str.split("\n") address = [] #如果入参num小于address.size,则返回num个address #如果入参num大于address.size,则返回所有address #如果入参num为0即默认的不传入参,则返回所有address ip_array.each_with_index do |ip, i| address[ip_array.size - 1 -i] = ip + ":" + @docker_cfg["port"] end if ip_array.size >= num && num != 0 return address.first(num) else return address end end |
.is_local? ⇒ Boolean
判断执行环境是否是本地环境(Mac)
73 74 75 76 77 78 |
# File 'lib/actir/remote.rb', line 73 def self.is_local? # hostname = `hostname` # hostname.include? "local" # 暂时先默认都是本地环境 return true end |