Closed marianfoo closed 4 months ago
Hi @marianfoo the declarative ancestor matcher is only available since 1.72 😞. Let me check if I can find a workaround
@marianfoo I had a look again at our coding and forgot that we already tried to fix this by instantiating the relevant matchers programmatically. So it should work with 1.71 and below We will look into this!
@vobu @dominikfeininger: we have to discuss about this issue. Some matchers like ancestor or descendent worked differently before 1.72. Maybe we should drop the support for the old versions.
I thought about dropping support for the version 1.71
too, but this version is in maintenance till end of 2027 or 2030.
If there are no other options to implement this, what about warnings like i suggestes here in #493 ?
agree. I would extend your #493 with all the problematic matchers and remove the support from the coding or even make a hint there
after an ad-hoc maintainer meeting (😸), we agreed to
ancestor
selector for 1.71
with a dedicated id
for the parentancestor
selector with its' parent id with UI5 1.71
@Siolto hey 👋 - silence for 30 days 🤐 ... anybody? 😀
closed 📴 because silencio 🤫 since an additional 14 days after staleness 📠
This is still valid
hey 👋 - silence for 30 days 🤐 ... anybody? 😀
closed 📴 because silencio 🤫 since an additional 14 days after staleness 📠
I have just stumbled across the problem again :/
But this time i guess bindingPath is not working for 1.71
?
const settingsButton = await browser.asControl({
selector: {
controlType: "sap.m.Button",
properties: {
icon: "sap-icon://action-settings"
},
bindingPath: {
path: "",
propertyPath: "/showOptions",
modelName: "info"
},
searchOpenDialogs: true
}
});
Thanks for reminding us! We need to have a look at this...
So for the ancestor/descendant
case as already discussed:
When we have a stable id we can do something like this in 1.71:
await browser.asControl({
selector: {
controlType: "sap.m.StandardListItem",
viewName: "my.super.view.Name",
ancestor: "myStableId"
}
})
When we do not have a stable Id we have to retrieve the control id first:
const ancestorId = await browser.asControl({
selector: {
controlType: "sap.m.List",
viewName: "my.super.view.Name",
}
}).getId()
await browser.asControl({
selector: {
controlType: "sap.m.StandardListItem",
viewName: "my.super.view.Name",
ancestor: ancestorId,
}
});
I have also checked the bindingPath
case and for me it looks like that it should behave the same in 1.71. like in the higher versions
hey 👋 - silence for 30 days 🤐 ... anybody? 😀
closed 📴 because silencio 🤫 since an additional 14 days after staleness 📠
Describe the bug
I try to get
sap.m.OverflowToolbar
withancestor
selector.XML View
UI5 Inspector
Test
https://github.com/marianfoo/ui5-cc-excelUpload/blob/4f31a5fb93a2222cb0b07decc2ba16704610319a/examples/test/specs/all/SetAvailableOptionsListReport.test.js#L61-L69
Error
To Reproduce
Steps to reproduce the behavior:
Expected behavior Get the overflow toolbar.
Logs/Console Output
Screenshots if applicable, add screenshots to help explain your problem.
Runtime Env (please complete the following information):
wdi5/wdio-ui5-service
-version:1.5.0
UI5
version:1.108.14
wdio
-version (output ofwdio --version
): v7node
-version (output ofnode --version
): 18.14.0Additional context
It works with version 1.84 and up see this workflow run: https://github.com/marianfoo/ui5-cc-excelUpload/actions/runs/5335263656
Current workaround with regex 😣
I can´t use a fixed id because they are different with every ui5 version 🫠