使用Selenium-Java自动化搜索功能

使用Selenium-Java自动化搜索功能,java,selenium,Java,Selenium,我需要自动执行以下搜索功能: 搜索字符串=(X*或“Y”)和Z 输入此搜索时,系统应断言结果。我的问题是: 1) 如何在运算符之间设置优先级,因为如果有(),则应执行该操作,并使用其结果检查搜索字符串的其他部分。 2) termi*可以是终止符、终止符。我们如何检查这一点并断言 3) “堆栈溢出”意味着结果应该完全匹配。我们怎样才能发现和断言 4) 同样不是运算符,我们如何断言 如果您能提供任何帮助,请与我分享 提前感谢。一些如何使用StringBuffer在java中编写代码的方法:) 我没有

我需要自动执行以下搜索功能:

搜索字符串=(X*或“Y”)和Z

输入此搜索时,系统应断言结果。我的问题是:
1) 如何在运算符之间设置优先级,因为如果有(),则应执行该操作,并使用其结果检查搜索字符串的其他部分。 2) termi*可以是终止符、终止符。我们如何检查这一点并断言 3) “堆栈溢出”意味着结果应该完全匹配。我们怎样才能发现和断言 4) 同样不是运算符,我们如何断言 如果您能提供任何帮助,请与我分享


提前感谢。

一些如何使用StringBuffer在java中编写代码的方法:)

我没有存储第一个块和下一个进程的结果,而是根据下面的searchString创建了一个string命令,最后启动新创建的命令并验证了答案

就像在搜索字符串中插入&&运算符和for或| |运算符一样

String[] arrSearch=searchString.split("\\s");
        StringBuffer sb = new StringBuffer();
        boolean skipFlag = false;
        for(int i=0;i<arrSearch.length;i++){
            System.out.println(arrSearch[i]);
            if(!skipFlag && arrSearch[i].startsWith("\"")){
                skipFlag = true;
                continue;
            }else if(skipFlag){
                if(arrSearch[i].endsWith("\"")){
                    skipFlag = false;
                    continue;
                }else{
                    continue;
                }
            }else if(arrSearch[i].startsWith("(")){
                String temp = arrSearch[i].substring(1);
                sb.append("(selenium.isTextPresent(" + temp + ")" + " ");
            }else if(arrSearch[i].startsWith(")")){
                String temp = arrSearch[i].substring(0,arrSearch[i].length()-1);
                sb.append("selenium.isTextPresent(" + temp + "))" + " ");
            }else if(arrSearch[i].equalsIgnoreCase("AND")){
                sb.append("&&" + " ");
            }else if(arrSearch[i].equalsIgnoreCase("OR")){
                sb.append("||" + " ");
            }else if(arrSearch[i].equalsIgnoreCase("NOT")){
                sb.append("!");
            }else if(arrSearch[i].endsWith("*")){
                String temp = arrSearch[i].substring(0,arrSearch[i].length()-1);
                sb.append("selenium.isTextPresent(\"//*[contains('" + temp + "')]\")" + " ");
            }else{
                sb.append("selenium.isTextPresent(" + arrSearch[i] + ")" + " ");
            }
String[]arrSearch=searchString.split(\\s”);
StringBuffer sb=新的StringBuffer();
布尔skipFlag=false;

对于(int i=0;iIs它就像你搜索关键词一样,网页上会有很多结果?像亚马逊产品搜索页面一样?另外,我不明白第一点。你能解释一下吗?最后,如果你能格式化你的问题,它会帮助我们谢谢你回答a.J…是的,就像搜索引擎一样。关于第一行,当你首先在括号()内执行命令的搜索字符串,然后根据其结果再次执行其他部分。因此,这里我们使用运算符优先级概念。首先需要执行的示例(Termi*或“Claim”)在这里,我主要列出了不同的操作符,比如OR,and,NOT,(),*RegExp。我必须编写一个代码来搜索查询“(X*或“Y”)和Z”,并根据搜索字符串/查询断言显示的内容