public void operationAndCloseWindows(String operation,String result,HashMap<String, String> xpathMap) { //获取所有窗口句柄 Set<String> windowHandles = driver.getDriver().getWindowHandles(); String homeHandles = ""; //遍历所有窗口句柄,只要不是首页的标签页都关掉,然后再执行下一行数据 for (String windowHandle : windowHandles) { driver.getDriver().switchTo().window(windowHandle); if(driver.getDriver().getTitle().contains("远光九天")) { homeHandles=windowHandle; continue; } sleep(8); try { //执行操作 common.clickXpath(xpathMap.get(operation)); } catch (Exception e) { clickButtonText("关闭"); //执行操作 common.clickXpath(xpathMap.get(operation)); } if(result.equals("服务连接管理")) { clickButtonText("确定"); } else if(result.equals("协同设计中心")){ clickButtonText("取消"); } else if(result.equals("用户体验创新中心")) { clickButtonText("取消"); } else if(result.equals("研发运营基础云平台")) { clickButtonText("取消"); } sleep(2); //断言 assertText(result); driver.getDriver().close(); } driver.getDriver().switchTo().window(homeHandles); }
时间: 2024-04-17 22:29:25 浏览: 133
这是一个名为`operationAndCloseWindows`的公共方法,它接受三个参数:`operation`,`result`和`xpathMap`。
该方法的目的是执行一系列操作,并关闭除首页以外的所有窗口。具体步骤如下:
1. 获取所有窗口句柄。
2. 遍历所有窗口句柄,如果当前窗口的标题包含"远光九天",则将其保存为首页的句柄,并继续下一次循环。
3. 在当前窗口执行操作,通过`xpathMap`参数中的映射获取操作对应的XPath,并点击该元素。
4. 如果操作失败,则点击一个名为"关闭"的按钮,然后再次执行操作。
5. 根据`result`参数的值执行不同的操作:
- 如果`result`为"服务连接管理",则点击一个名为"确定"的按钮。
- 如果`result`为"协同设计中心"、"用户体验创新中心"或"研发运营基础云平台",则点击一个名为"取消"的按钮。
6. 等待2秒后进行断言,验证文本是否与`result`参数的值匹配。
7. 关闭当前窗口。
8. 切换回首页的窗口。
请注意,以上代码只是一个方法的部分实现,无法全面判断其功能是否完整和正确。如果需要更多信息,请提供更多上下文或完整的代码。
相关问题
private HashMap<String,Vector<String>> graphs =new HashMap<String,Vector<String>>(); public Graphs() { } public Graphs(HashMap<String, Vector<String>> graphs) { this.graphs = graphs; } public void creatGraphs(Vector<String> userTemp/* allusers */, Vector<String> linksTemp/* links */) { for(int i=0;i<userTemp.size();i++) { Vector<String> vecLinksTemp=new Vector<String>();//创建当前user能够激活的links容器 for(int j=0;j<linksTemp.size();j++) { if(((String)linksTemp.get(j)).split(" ")[0].equals(userTemp.get(i)))//判断与user的匹配的links vecLinksTemp.add(((String)linksTemp.get(j))); } graphs.put((String)userTemp.get(i),vecLinksTemp); } } public void setGraphs(HashMap<String, Vector<String>> graphs) { this.graphs = graphs; } public HashMap<String, Vector<String>> getGraphs() { return graphs; }
这段 Java 代码定义了一个名为 Graphs 的类,其中包含了一个名为 graphs 的 HashMap 成员变量,用于存储字符串和字符串向量之间的映射关系。
该类有三个方法:
1. 无参构造方法 public Graphs()。
2. 有参构造方法 public Graphs(HashMap<String, Vector<String>> graphs),用于初始化 graphs 成员变量。
3. public void creatGraphs(Vector<String> userTemp, Vector<String> linksTemp),用于创建图形对象,并将其添加到 HashMap 中。该方法通过遍历 userTemp 和 linksTemp 两个向量,根据给定的条件,将 linksTemp 中的元素添加到 vecLinksTemp 中,最后将 vecLinksTemp 添加到 graphs 中。
该类还有两个访问器方法:
1. public void setGraphs(HashMap<String, Vector<String>> graphs),用于设置 graphs 成员变量的值。
2. public HashMap<String, Vector<String>> getGraphs(),用于获取 graphs 成员变量的值。
总之,这段代码实现了一个简单的图形数据结构,并提供了一些基本的操作方法。
package projectitem; import java.util.HashMap; import java.util.Vector; public class Graphs { private HashMap<String,Vector<String>> graphs =new HashMap<String,Vector<String>>(); public Graphs() { } public Graphs(HashMap<String, Vector<String>> graphs) { this.graphs = graphs; } public void creatGraphs(Vector<String> userTemp/* allusers */, Vector<String> linksTemp/* links */) { for(int i=0;i<userTemp.size();i++) { Vector<String> vecLinksTemp=new Vector<String>();//创建当前user能够激活的links容器 for(int j=0;j<linksTemp.size();j++) { if(((String)linksTemp.get(j)).split(" ")[0].equals(userTemp.get(i)))//判断与user的匹配的links vecLinksTemp.add(((String)linksTemp.get(j))); } graphs.put((String)userTemp.get(i),vecLinksTemp); } } public void setGraphs(HashMap<String, Vector<String>> graphs) { this.graphs = graphs; } public HashMap<String, Vector<String>> getGraphs() { return graphs; } }
这是一个Java类的代码,该类名为Graphs,主要实现了一个基于HashMap和Vector的图的数据结构。它包括以下方法:
1.构造函数Graphs()
2.构造函数Graphs(HashMap<String, Vector<String>> graphs)
3.方法creatGraphs(Vector<String> userTemp, Vector<String> linksTemp),用于创建图,其中userTemp是所有用户的向量集合,linksTemp是所有链接的向量集合,方法中通过循环判断,将每个用户可以激活的链接放入到对应的HashMap的value集合中。
4.方法setGraphs(HashMap<String, Vector<String>> graphs),用于设置图。
5.方法getGraphs(),用于获取图。
阅读全文