使用javascript从静态HTML页面编辑本地xml文件时出错
Error in editing a local xml file from a static HTML page using javascript
我在本地存储(硬盘驱动器)上有一个静态html页面。我这里没有使用任何类型的服务器。与此同时,我有一个名为testng.xml的xml文件,我需要从html编辑按钮点击使用javascript。
我需要将<include>
标签替换为<exclude>
标签,反之亦然,基于用户通过网页上的复选框选择。然后通过单击按钮执行测试xml。
从html按钮调用函数,如下所示
<input type="submit" onclick="editTestNG()" value="Execute Selected Tests">
下面是我编辑xml的代码。
<script type="text/javascript">
function editTestNG()
{
xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "testng.xml", false);
xmlHttp.send();
xmlDoc = xmlHttp.responseXML;
txt = "";
x = document.getElementsByName("check");
document.write(x.length + "<br>"); // x.length is number of checkboxes on html page
z = xmlDoc.getElementsByTagName("run")[1];
y = z.children;
document.write(y.length + "<br>"); // y.length is the number of xml child nodes
document.write(x.length + "<br>"); // x.length is number of checkboxes on html page
for(i=0;i<x.length;i++)
{
document.write("abc");
if(x[i].type == 'checkbox')
{
document.writeln("def");
if(x[i].checked == "true" && y[i].nodeName == "exclude")
{
document.writeln("ghi");
txt = y[i].getAttribute("name");
newTag = xmlDoc.createElement("include");
newTag.setAttribute("name",txt);
p = z.replaceChild(newTag, y[i]);
document.write(p.nodeName+"<br>")
document.write(newTag.nodeName + "::"+ newTag.getAttribute("name")+"<br>");
}
if(x[i].checked == "false" && y[i].nodeName == "include")
{
document.writeln("jkl");
txt = y[i].getAttribute("name");
newTag = xmlDoc.createElement("exclude");
newTag.setAttribute("name",txt);
p = z.replaceChild(newTag, y[i]);
document.write(p.nodeName+"<br>")
document.write(newTag.nodeName + "::"+ newTag.getAttribute("name")+"<br>");
}
}
}
y = z.children;
for(i=0;i<y.length;i++)
{
document.writeln("<br>"+y[i].nodeName + " ## "+ y[i].getAttribute("name")+"<br>");
}
}
</script>
点击按钮后在html页面上的输出如下图
140
7
0
exclude ## Group_CCMS_Login
exclude ## Group_CCR_Create_New
exclude ## Group_CCR_Create_New_EngType_M
exclude ## Group_CCR_Create_New_EngType_P
exclude ## Group_Full_ID_Search
include ## Group_Run_Query
exclude ## Group_Dup_Undup
我能够检索xml文件和z和y变量中的元素。同样在第二个for
循环中,打印包含xml节点名称和属性的输出。但是在y变量中获得xml数据后,我无法获得或使用任何html页面元素,如复选框。
x.length
的值最初为140,y.length
为7,但随后x.length
变为0,并且我的第一个for
循环没有执行。
我无法理解为什么我不能访问html元素后获得xml数据。
我从未尝试过,但根据我的理解,您可以创建一个bash文件,然后使用jsp代码执行该bash文件。在HTML中添加jsp代码。
参考:
从JSP页面执行bash脚本
现在正如你所说的"我需要在HTML中准备一个带有复选框的用户界面,用于选择或取消选择要运行的测试,并通过单击按钮执行它们"
为此,您可能需要创建不同的测试套件,因此您需要分别创建更多的bash。
参考:http://grokbase.com/t/gg/selenium-users/139r0nszp3/how-to-run-multiple-xml-files-with-testng
相关文章:
- 我应该如何从xml文件构建一个javascript页面
- 如何使用javascript或jquery mobile从url读取和显示XML文件
- 如何使用JQUERY解析大型XML文件并将其可视化为HTML格式
- Javascript/JQuery.本地缓存xml文件
- xml文件在js项目目录结构中的位置
- 使用jquery动态解析XML文件
- 指定单击链接时要加载的xml文件
- 使用javascript读取本地XML文件并在html页面中显示
- 将xml文件导入pdf(Acrobat)
- 使用AJAX传递的数据编辑XML文件-正在删除XML数据
- 在HTML文档中使用XML文件中的数据
- 可以't从xml文件中提取数据
- 通过JS/AAJAX在XML文件中搜索1个数据
- 搜索XML文件并使用javascript显示结果
- Windows 8市场应用程序JS,访问远程XML文件
- 将Xml文件链接到HTML
- 如何将 XML 文件包含在摩卡测试用例中
- 无法在 jsTree 中通过 HTTP 加载 XML 文件
- 在 XML 文件中搜索 TestComplete 中的特定属性值
- 如何使用Iron Router在Meteor中生成XML文件