【问题标题】:Can codecept see elements in RSS feeds (XML)?codecept 可以查看 RSS 提要 (XML) 中的元素吗?
【发布时间】:2019-03-22 12:00:26
【问题描述】:

我有一个 RSS 提要,其中应该只有 1 个“项目”。我知道我可以做 I.see() 来检查是否存在任何数字;但是是否可以检查是否恰好存在 1?

我知道对于元素(在 html 中),我比简单的 I.see() 具有更大的灵活性。是否可以将xml视为元素?

【问题讨论】:

  • 我没有使用 XML 文件,但也许你可以使用函数 I.seeNumberOfElements(locator, num)。 XPath 定位器也适用于 xml。例如,它用于使用 Appium 进行移动测试。
  • 是的,你会认为它应该可以工作。但到目前为止还没有运气。 /rss/channel/item、//item、/item 和许多其他组合都给出“无效的 xpath 选择器、无效的选择器或预期的可见元素 '[]' 不为空”。

标签: xml codeceptjs


【解决方案1】:
const DOMParser = require('xmldom').DOMParser;
let parser = new DOMParser();
let elementTagName = "rss"; // set tag of your element here
let xmlXpath = "//body/pre";

I.waitForElement(xmlXpath);
let innerText = await I.grabTextFrom(xmlXpath);
let documentCustom = parser.parseFromString(innerText, "text/xml");
let documentCustomGetElement = documentCustom.getElementsByTagName(elementTagName)[0].childNodes; // your element here

你可以试试这个rss-feed

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 2011-09-16
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多