You say you have little design experience: while it is possible to start alone, you are likely to make many mistakes without being aware of them. Working as newbie without a guidance of someone senior is sub-optimal for your professional growth, but possible. So don't worry and do your best. You can always change it when you learn better way to do it. Making ...
Browser supports only XPATH version 1.0 and matches is an XPATH 2.0 method, and so you can use only xpath 1.0 in selenium. The above linked document shows the supported XPATH methods.
so in your case
//mat-option/span[text()="someting" or text()="something" and so on ]
You can use //mat-option/span[condition1 or condition2 or condition3]
With XPath 2.0 or higher you could also use
But sadly the developers of Selenium are still stuck on XPath 1.0.
Are you sure you want "text()" here rather than "."? With text(), the text must all be in one text node: no ...
I think you need to modify the context, not just create a variable with that name. Unfortunately, even context.stdout_capture = sys.__stdout__
doesn't seem to solve this. It generates a ContextMaskWarning as you are modifying something that behave will, and does, overwrite. Of course you could modify your instance behave to avoid this.
You are comparing Behave Tables you can write using python-behave and model-based testing.
They are not really comparable, in an analogy, comparing Behave Tables with model-based testing is like comparing Fish & Chips with Asian cuisine.
Fish & Chips belongs to English cuisine, you can not compare a certain food with a category of cooking style (...