AAAbstractFlow()

  1. public void getComputerNameOfNode(WebDriver driver){
  2. String CIHub = Environment.getHub();
  3. String hub = (CIHub.split("//")[1].split(":")[0]);
  4. String port = (CIHub.split(":")[2].split("/")[0]);
  5. HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
  6. CloseableHttpClient closeableHttpClient = httpClientBuilder.build();
  7.  
  8. String sessionUrl = "http://" + hub + ":" + port+ "/grid/api/testsession?session="+((RemoteWebDriver) driver).getSessionId();
  9. HttpPost httpPost = new HttpPost(sessionUrl);
  10. // logger.info("Http post request is : "+httpPost.getRequestLine());
  11.  
  12. try{
  13. //Execute HTTP request
  14. HttpResponse httpResponse = closeableHttpClient.execute(httpPost);
  15. //Get HTTP response
  16. HttpEntity entity = httpResponse.getEntity();
  17. //Response status
  18. // logger.info("HTTP status:" + httpResponse.getStatusLine());
  19. //Check if response is null
  20. if (entity != null) {
  21. // logger.info("Content encoding:" + entity.getContentEncoding());
  22. String jsonString = EntityUtils.toString(entity);
  23. // logger.info("Response content:" + jsonString);
  24. JSONObject jsonObject = JSONObject.fromObject(jsonString);
  25. String proxyID=jsonObject.getString("proxyId");
  26. String node = (proxyID.split("//")[1].split(":")[0]);
  27. logger.info("The case is running on this node :" + node);
  28. }
  29. }
  30. catch(IOException e){
  31. e.printStackTrace();
  32. }
  33. finally{
  34. try{
  35. closeableHttpClient.close();
  36. }
  37. catch(IOException e){
  38. e.printStackTrace();
  39. }
  40. }
  41. }

AAAbstractTest()

  1. public class AAAbstractTest extends AbstractTest {
  2. private static final Logger logger = Logger.getLogger(AAAbstractTest.class);
  3.  
  4. @BeforeMethod(alwaysRun=true)
  5. public void beforeTest(ITestContext context, Method method){
  6. WebDriver driver = getDriver(method);
  7. try{
  8. LoginFlow flow = new LoginFlow(getDriver(method));
  9. if(Util.isUseGrid()){
  10. flow.getComputerNameOfNode(driver);
  11. }
  12. UserBean userBean = getUser(method);
  13. flow.login(userBean);
  14. logger.info(method.getName());
  15.  
  16. String loginUser = userBean.getName().toString() + "/" + userBean.getPwd().toString();
  17. logger.info("Login user is : "+loginUser);
  18. }
  19. catch(Exception e){
  20. logger.info("[AAAbstractTest--beforeTest]==" + method.getName());
  21. }
  22.  
  23. }
  24.  
  25. }

  

[Selenium] 在Grid模式下打印出当前Case是在哪台Node上运行的更多相关文章

  1. [Selenium]Grid模式下运行时打印出当前Case在哪台node机器上运行

    当Case在本地运行成功,在Grid模式下运行失败时,我们需要在Grid模式下进行调试,同时登录远程的node去查看运行的情况. Hub是随机将case分配到某台node上运行的,怎样知道当前的cas ...

  2. MVVM模式下弹出窗体

    原地址:http://www.cnblogs.com/yk250/p/5773425.html 在mvvm模式下弹出窗体,有使用接口模式传入参数new一个对象的,还有的是继承于一个window,然后在 ...

  3. 重写NSLog,Debug模式下打印日志和当前行数

    在pch文件中加入以下命令,NSLog在真机测试中就不会打印了 //重写NSLog,Debug模式下打印日志和当前行数 #if DEBUG #define NSLog(FORMAT, ...) fpr ...

  4. 剑指offer22:从上往下打印出二叉树的每个节点,同层节点从左至右打印。

    1 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 2 思路和方法 使用一个队列存放节点.先将根节点加入到队列中,然后循环遍历队列中的元素,遍历过程中,访问该节点的左右子节点,再将左 ...

  5. Lodop在搜狗兼容模式下打印无边框问题

    项目中原有的CAP方式打印由于只支持IE浏览器,由于目前大家使用IE的频率越来越少,迫切需要一个控件来替换项目原有的控件,比较了下选择Lodop,购买了一个最便宜的版本,使用后,有用户使用搜狗的兼容模 ...

  6. WPF 介绍一种在MVVM模式下弹出子窗体的方式

    主要是通过一个WindowManager管理类,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show方法,显示出来 ...

  7. WPF 在MVVM模式下弹出子窗体的方式

    主要是通过一个WindowManager管理类,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show方法,显示出来 ...

  8. 剑指Offer面试题:21.从上到下打印二叉树

    一.题目:从上到下打印二叉树 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印.例如输入下图中的二叉树,则依次打印出8.6.10.5.7.9.11. 二叉树节点的定义如下,采用 ...

  9. 剑指Offer 从上往下打印二叉树(dfs)

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印.   思路: 用一个队列来辅助,先压入根节点,设置一个指针记录队列头位置,判断队头指针有没有孩子,有压入左右孩子,,,操作完一次,队头出 ...

随机推荐

  1. Oracle密码中含有特殊字符时exp,imp的使用

    今天通过exp迁移Oracle 数据,由于密码含有很有很多特殊字符,弄了好久,都没成功,后发在网上找到方法. 1 exp用法Linux 下(密码用一对双引号, 整体userid用对单引号括住)exp ...

  2. windows7安装django并创建第一个应用

    1.安装django 1.1.下载Django包 https://www.djangoproject.com/download/https://www.djangoproject.com/m/rele ...

  3. tomcat 注冊成操作系統服務

    nginx注冊成服務1.把srvany.exe和instsrv.exe拷貝到nginx安裝路徑下面.2.執行命令Command代碼instsrv Nginx D:\nginx\srvany.exe3. ...

  4. C#使用OpcNetApi.dll和OpcNetApi.Com.dll操作OPC

    本人学习了一下.Net,恰好,51自学网,又要用这个.而网上很多VC6,VB6,VB .Net的但,很少C#的.现在研究一下,给出例子: 测试平台,是VS2008,KEPServer,OpcNetAp ...

  5. idea_pyspark 环境配置

    本文转载自:https://www.cnblogs.com/LazyJoJo/p/6910504.html 1.配置好Hadoop和spark 2.配置好Pytho3.5 3.安装py4j pip3 ...

  6. 学习笔记之C# 教程 | 菜鸟教程

    C# 教程 | 菜鸟教程 http://www.runoob.com/csharp/csharp-tutorial.html 菜鸟教程在线编辑器 http://www.runoob.com/try/r ...

  7. http和https(转)

    一.HTTP协议 最近看了一些网络通信方面的书籍,研究了一下 HTTP 和 TCP/IP,有了一些新的收获和理解,在这里做个归纳和总结. (1)什么是HTTP协议 HTTP (HyperText Tr ...

  8. ElasticSearch 基础概念学习(未完)

    1.基本定义 摘自百度百科 elasticseaElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elastic ...

  9. Django学习---jsonp跨域请求

    jsonp跨域请求 我们通过ajax进行跨域请求的时候,请求发送过去,但是在接受返回数据的时候浏览器会进行拦截. 这是由于浏览器存在同源策略机制,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源 ...

  10. linux下创建具有root权限的账户

    http://blog.chinaunix.net/uid-24631445-id-2981034.html