我正在尝试编写一个Selenium Java程序,它将从外部源获取命令。例如我以一种用户友好的方式在外部编写driver.findElement(By.id("username")).sendKeys("FirstName");
,因此用户可以在不知道后端代码的情况下创建硒脚本。操纵代码 - 编辑和运行代码
分裂它分为4个部分:
1) identifier type e.g. id
2) identifier e.g. "username"
3) command type e.g. sendKeys
4) input data e.g. "Firstname"
在我的代码我使用的是运行时编译器编译字符串为代码(我这样做是因为它运行我可以操控整个代码串)这样我可以有一小段代码来运行外部源中引用的任何东西,所以只要正确创建了外部源,此代码就可以用于sendKeys,单击等等,无需任何更改。
我能够运行
`" String URL2 = \"id\";" + "\n" +
" String URL3 = \"username\";" + "\n" +
" String URL4 = \"sendKeys\";" + "\n" +
" String URL5 = \"Grabhamn\";" + "\n" +
" System.out.println(\"driver.findElement(By.\"+URL2+\"
(\"+URL3+\")).\"+URL4+\"(\"+URL5+\");\");" + "\n" +`
此输出driver.findElement(By.id(username)).sendKeys(Grabhamn);
但我的问题是,那我怎么在运行时编译器执行该代码。此外,我需要代码输出为
driver.findElement(By.id("username")).sendKeys("Grabhamn");
在这些地方包含引号,因为我也不成功做到这一点。
任何有关如何做到这一点或替代解决方案的信息将不胜感激。
Java脚本API可能适合。 –