Cleaned up xpath generation
This commit is contained in:
parent
497cc522c7
commit
86bb7aaab2
|
@ -41,35 +41,25 @@ class ControlerMixin:
|
||||||
|
|
||||||
:return: created xpath string
|
:return: created xpath string
|
||||||
"""
|
"""
|
||||||
|
xpathStr = "//*["
|
||||||
keys = data.keys()
|
keys = data.keys()
|
||||||
attribList = []
|
attribLst = []
|
||||||
xpathStr = ""
|
|
||||||
queryCount = 0
|
queryCount = 0
|
||||||
|
|
||||||
if "elm" in keys:
|
if "elm" in keys:
|
||||||
xpathStr = "//" + data["elm"] + "["
|
xpathStr = "//" + data["elm"] + "["
|
||||||
queryCount += 1
|
|
||||||
else:
|
|
||||||
xpathStr = "//" + data["elm"] + "["
|
|
||||||
|
|
||||||
if "id" in keys:
|
flags = ["id", "class", "type", "value"]
|
||||||
attribList.append("@id='" + data["id"] + "'")
|
for key in keys:
|
||||||
queryCount += 1
|
if key in flags:
|
||||||
if "class" in keys:
|
attribLst.append("@" + data[key] + "='" + data[key] + "'")
|
||||||
attribList.append("@class='" + data["class"] + "'")
|
|
||||||
queryCount += 1
|
|
||||||
if "type" in keys:
|
|
||||||
attribList.append("@type='" + data["type"] + "'")
|
|
||||||
queryCount += 1
|
|
||||||
if "value" in keys:
|
|
||||||
attribList.append("@value='" + data["value"] + "'")
|
|
||||||
queryCount += 1
|
queryCount += 1
|
||||||
|
|
||||||
if len(attribList) > 1:
|
|
||||||
xpathStr += " and ".join(attribList)
|
if len(attribLst) > 0:
|
||||||
|
xpathStr += " and ".join(attribLst)
|
||||||
else:
|
else:
|
||||||
xpathStr += attribList[0]
|
xpathStr += attribLst[0]
|
||||||
|
|
||||||
xpathStr += "]"
|
xpathStr += "]"
|
||||||
self.logger.debug("Generated XPath: " + xpathStr)
|
self.logger.debug("Generated XPath: " + xpathStr)
|
||||||
|
|
Loading…
Reference in New Issue