[Selenium] 在Grid模式下打印出当前Case是在哪台Node上运行
AAAbstractFlow()
- public void getComputerNameOfNode(WebDriver driver){
- String CIHub = Environment.getHub();
- String hub = (CIHub.split("//")[1].split(":")[0]);
- String port = (CIHub.split(":")[2].split("/")[0]);
- 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);
- // logger.info("Http post request is : "+httpPost.getRequestLine());
- try{
- //Execute HTTP request
- HttpResponse httpResponse = closeableHttpClient.execute(httpPost);
- //Get HTTP response
- HttpEntity entity = httpResponse.getEntity();
- //Response status
- // logger.info("HTTP status:" + httpResponse.getStatusLine());
- //Check if response is null
- if (entity != null) {
- // logger.info("Content encoding:" + entity.getContentEncoding());
- String jsonString = EntityUtils.toString(entity);
- // logger.info("Response content:" + jsonString);
- JSONObject jsonObject = JSONObject.fromObject(jsonString);
- String proxyID=jsonObject.getString("proxyId");
- String node = (proxyID.split("//")[1].split(":")[0]);
- logger.info("The case is running on this node :" + node);
- }
- }
- catch(IOException e){
- e.printStackTrace();
- }
- finally{
- try{
- closeableHttpClient.close();
- }
- catch(IOException e){
- e.printStackTrace();
- }
- }
- }
AAAbstractTest()
- public class AAAbstractTest extends AbstractTest {
- private static final Logger logger = Logger.getLogger(AAAbstractTest.class);
- @BeforeMethod(alwaysRun=true)
- public void beforeTest(ITestContext context, Method method){
- WebDriver driver = getDriver(method);
- try{
- LoginFlow flow = new LoginFlow(getDriver(method));
- if(Util.isUseGrid()){
- flow.getComputerNameOfNode(driver);
- }
- UserBean userBean = getUser(method);
- flow.login(userBean);
- logger.info(method.getName());
- String loginUser = userBean.getName().toString() + "/" + userBean.getPwd().toString();
- logger.info("Login user is : "+loginUser);
- }
- catch(Exception e){
- logger.info("[AAAbstractTest--beforeTest]==" + method.getName());
- }
- }
- }
[Selenium] 在Grid模式下打印出当前Case是在哪台Node上运行的更多相关文章
- [Selenium]Grid模式下运行时打印出当前Case在哪台node机器上运行
当Case在本地运行成功,在Grid模式下运行失败时,我们需要在Grid模式下进行调试,同时登录远程的node去查看运行的情况. Hub是随机将case分配到某台node上运行的,怎样知道当前的cas ...
- MVVM模式下弹出窗体
原地址:http://www.cnblogs.com/yk250/p/5773425.html 在mvvm模式下弹出窗体,有使用接口模式传入参数new一个对象的,还有的是继承于一个window,然后在 ...
- 重写NSLog,Debug模式下打印日志和当前行数
在pch文件中加入以下命令,NSLog在真机测试中就不会打印了 //重写NSLog,Debug模式下打印日志和当前行数 #if DEBUG #define NSLog(FORMAT, ...) fpr ...
- 剑指offer22:从上往下打印出二叉树的每个节点,同层节点从左至右打印。
1 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 2 思路和方法 使用一个队列存放节点.先将根节点加入到队列中,然后循环遍历队列中的元素,遍历过程中,访问该节点的左右子节点,再将左 ...
- Lodop在搜狗兼容模式下打印无边框问题
项目中原有的CAP方式打印由于只支持IE浏览器,由于目前大家使用IE的频率越来越少,迫切需要一个控件来替换项目原有的控件,比较了下选择Lodop,购买了一个最便宜的版本,使用后,有用户使用搜狗的兼容模 ...
- WPF 介绍一种在MVVM模式下弹出子窗体的方式
主要是通过一个WindowManager管理类,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show方法,显示出来 ...
- WPF 在MVVM模式下弹出子窗体的方式
主要是通过一个WindowManager管理类,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show方法,显示出来 ...
- 剑指Offer面试题:21.从上到下打印二叉树
一.题目:从上到下打印二叉树 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印.例如输入下图中的二叉树,则依次打印出8.6.10.5.7.9.11. 二叉树节点的定义如下,采用 ...
- 剑指Offer 从上往下打印二叉树(dfs)
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 思路: 用一个队列来辅助,先压入根节点,设置一个指针记录队列头位置,判断队头指针有没有孩子,有压入左右孩子,,,操作完一次,队头出 ...
随机推荐
- Oracle密码中含有特殊字符时exp,imp的使用
今天通过exp迁移Oracle 数据,由于密码含有很有很多特殊字符,弄了好久,都没成功,后发在网上找到方法. 1 exp用法Linux 下(密码用一对双引号, 整体userid用对单引号括住)exp ...
- windows7安装django并创建第一个应用
1.安装django 1.1.下载Django包 https://www.djangoproject.com/download/https://www.djangoproject.com/m/rele ...
- tomcat 注冊成操作系統服務
nginx注冊成服務1.把srvany.exe和instsrv.exe拷貝到nginx安裝路徑下面.2.執行命令Command代碼instsrv Nginx D:\nginx\srvany.exe3. ...
- C#使用OpcNetApi.dll和OpcNetApi.Com.dll操作OPC
本人学习了一下.Net,恰好,51自学网,又要用这个.而网上很多VC6,VB6,VB .Net的但,很少C#的.现在研究一下,给出例子: 测试平台,是VS2008,KEPServer,OpcNetAp ...
- idea_pyspark 环境配置
本文转载自:https://www.cnblogs.com/LazyJoJo/p/6910504.html 1.配置好Hadoop和spark 2.配置好Pytho3.5 3.安装py4j pip3 ...
- 学习笔记之C# 教程 | 菜鸟教程
C# 教程 | 菜鸟教程 http://www.runoob.com/csharp/csharp-tutorial.html 菜鸟教程在线编辑器 http://www.runoob.com/try/r ...
- http和https(转)
一.HTTP协议 最近看了一些网络通信方面的书籍,研究了一下 HTTP 和 TCP/IP,有了一些新的收获和理解,在这里做个归纳和总结. (1)什么是HTTP协议 HTTP (HyperText Tr ...
- ElasticSearch 基础概念学习(未完)
1.基本定义 摘自百度百科 elasticseaElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elastic ...
- Django学习---jsonp跨域请求
jsonp跨域请求 我们通过ajax进行跨域请求的时候,请求发送过去,但是在接受返回数据的时候浏览器会进行拦截. 这是由于浏览器存在同源策略机制,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源 ...
- linux下创建具有root权限的账户
http://blog.chinaunix.net/uid-24631445-id-2981034.html