這裏是新手。我正在對自動化測試進行第一次嘗試,並且我正在測試的網站使用AngularJS來生成動態圖形和條形圖以及不斷變化的數據和div ID。由於我不懂代碼,我正在尋找使用Robot Framework和相關Xpaths的測試腳本。我的XPath知識大多來自W3學校莖的XPath教程(https://www.w3schools.com/xml/xpath_syntax.asp)Robot Framework和Xpath - 使用條件選擇一個元素
這是目前我測試頁面的一部分的基本骨架:我已經包含ExtendedSelenium2Library在圖書館
<html>
<body>
<div class="charts_and_graphs">
<div class="bar_chart">
<h1>Book Sales</h1>
<div class="key_area"></div>
<div class="bar_area">
<div class="bar">a1</div>
<div class="bar">a2</div>
<div class="bar">a3</div>
</div>
<h1>Pen Sales</h1>
<div class="key_area"></div>
<div class="bar_area">
<div class="bar">b1</div>
<div class="bar">b2</div>
<div class="bar">b3</div>
</div>
<h1>Bag Sales</h1>
<div class="key_area"></div>
<div class="bar_area">
<div class="bar">c1</div>
<div class="bar">c2</div>
<div class="bar">c3</div>
</div>
</div>
</div>
</body>
</html>
我的機器人腳本,到目前爲止,我的測試情況是這樣的:
Click on the first bar of the Book Sales bar chart
Click Element xpath=//child::div[@class="bar_chart" and ./h1/text()="Book Sales"]//div[@class="bar" and 1]
不用說,我的測試案例失敗,出現以下錯誤:
ValueError: Element locator 'xpath=//child::div[@class="bar_chart" and ./h1/text()="Book Sales"]//div[@class="bar" and 1]' did not match any elements.
這裏是我的Xpath的崩潰,我試圖遵循的邏輯:
//子:: DIV [@類= 「bar_chart」 和./h1/text()="Book銷售「]應該選擇任何一個div的子節點,其級別爲bar_chart和誰有孩子h1節點包含字符串圖書銷售。
在這一選擇,// DIV [@類= 「欄」 的1]」旨在選擇它的類是酒吧的第一 DIV節點。
我真的很感激任何提示或指示,可以幫助我實現自動點擊圖書銷售圖的第一欄而不依賴於id屬性的目標(它們會在每次刷新頁面時都會發生變化),那會即使條形圖在頁面周圍移動也是如此(圖表本身的結構不太可能改變,但是圖表的排序可能會改變,或者整個charts_and_graphs div可能會移動到頁面的頂部/底部......感謝前進!
我將文本內容a1-3,b1-b3,c1-3添加到示例中的'div.bar'元素以進行說明。你能告訴我們(根據這段文字內容)你想選擇哪個'div.bar'元素? – wero
我正在嘗試選擇a1欄。 – Majin