zoukankan      html  css  js  c++  java
  • [Selenium]Grid模式下运行时打印出当前Case在哪台node机器上运行

    当Case在本地运行成功,在Grid模式下运行失败时,我们需要在Grid模式下进行调试,同时登录远程的node去查看运行的情况。

    Hub是随机将case分配到某台node上运行的,怎样知道当前的case是运行在哪台node上呢?

    可以通过这段代码获取node的信息:

    public void getComputerNameOfNode(WebDriver driver){
    		String hub = "SZAUTOTEST1";
    		int port = 4444;
    		HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
    		CloseableHttpClient closeableHttpClient = httpClientBuilder.build(); 
    		
    		String sessionUrl = "http://" + hub + ":" + port+ "/grid/api/testsession?session="+((RemoteWebDriver) driver).getSessionId();
    		HttpPost httpPost = new HttpPost(sessionUrl); 
    		System.out.println("Http post request is : "+httpPost.getRequestLine());
    		try{
    			//Execute HTTP request
                HttpResponse httpResponse = closeableHttpClient.execute(httpPost);  
                //Get HTTP response
                HttpEntity entity = httpResponse.getEntity();  
                //Response status
                System.out.println("HTTP status:" + httpResponse.getStatusLine());  
                //Check if response is null
                if (entity != null) {  
                	System.out.println("Content encoding:" + entity.getContentEncoding()); 
                	String jsonString = EntityUtils.toString(entity);
                	System.out.println("Response content:" + jsonString);
                	JSONObject jsonObject = JSONObject.fromObject(jsonString);
                	String proxyID=jsonObject.getString("proxyId");
                	String node = (proxyID.split("//")[1].split(":")[0]);
                	System.out.println("The case is running on this node :" + node);
                }
    		}
    		catch(IOException e){
    			e.printStackTrace();  
    		}
    		finally{
    			try{
    				closeableHttpClient.close();  
    			}
    			catch(IOException e){
    				 e.printStackTrace();  
    			}
    		}
        }  
    
  • 相关阅读:
    We7 2.7版:全拖拽建站 开源CMS
    We7 CMS 2.6RC2版本发布 开源CMS
    LINQ简易教程
    C# 引用 C# DLL
    ASP.NET中母版页与JavaScript控制的一点小问题
    LINQ连接远端数据库问题
    ASP.NET中自动生成XML文件并通过XSLT显示在网页中的方法
    【转载】常见逻辑错误
    因为压力大变得很郁闷的时候怎么办
    代码覆盖度C#代码监控工具NCover、Rational PureCoverage、BullseyeCoverage
  • 原文地址:https://www.cnblogs.com/MasterMonkInTemple/p/4562947.html
Copyright © 2011-2022 走看看