We have a web site that also have mobile site, (not app) I'm using C# Selenium WebDriver and our automation framework has 2 classes that Describes the pages in sites, now i want to use the same classes that planed from one to the other but the DOM and LOCATORS (cssSelector,Id...) are different. So I am thinking to take locators out of my code to a data source, But how can I link two data sources (for mobile and Web) to one class for instant? if you have simple example it will be nice Thanks Eyal
How to store Selenium Locators for both products (Web and Mobile app) in one single class?
247 Views Asked by EyalChn At
1
There are 1 best solutions below
Related Questions in SELENIUM
- How to access invisible Unordered List element with Selenium WebDriver using Java
- Compound classes stored in an array are not accessible in selenium java
- Fail Upload file in Selenium webdriver using Robot class
- Selenium crashes Firefox, how to reset the used profile / where is the default profile?
- Selenium Driver Service not found exception
- Unable to read excel if cell/column has drop down list enabled for Selenium webdriver TestNG
- Selenium C#: Store element's position on graph as a variable
- Selenium webdriver for handling dynamic ckeditors
- What can cause `UnreachableBrowserException: Could not start a new session`?
- Click on the 'compose' button in gmail inbox page
- python - selenium change frame not working
- Selecting Options from a Drop Down Menu in C# using Selenium
- Validation without skipping the test cases if one fails
- How can i increase session timeout (which is 30 minutes by default)
- Load additional CONFIG file with values
Related Questions in WEBDRIVER
- How to hide iOS Keyboard with Leadfoot / Appium / Webdriver?
- What can cause `UnreachableBrowserException: Could not start a new session`?
- Click on the 'compose' button in gmail inbox page
- how to get a text string from
- How to open webdriver multiple chrome driver in different position of monitor?
- Two empty instances of firefox browser opens testng selenium webdriver
- Selenium Webdriver http.client.BadStatusLine: ' ' error?
- Selenium WebDriver - Unexpected modal dialog Alert
- How to disable Reader View in Firefox using webdriver
- How to select a "Colour" for a field value and scroll parameter value of a field?
- Selenium webdriver: element.clear() not clearing the textbox values sometimes
- Appium waitForElementByName always returns state: pending
- How to exclude some selenium test cases from the package?
- Unable to trace an element by attribute or text
- how to use List<WebElement> webdriver
Related Questions in SELENIUM-CHROMEDRIVER
- Cannot assign an inst variable in Switch "--user-data-dir" in Selenium Wedriver Chrome
- How does Nunit generate TestResult.xml
- driver.switchTo().defaultContent(); returning error when using current version of Chrome
- Open multiple sessions with Selenium-ChromeDriver
- Chrome driver hangs when using user data
- Firefox Selenium test freezes sometimes
- Selenium WebDriver Error on Windows: logging.js not found
- Selenium components for CodedUI does not launch chromedriver.exe
- How to wait for page to load completely using JavaScript in Selenium
- Selenium Webdriver _ issue related to 32bit/64bit server
- Launch Watir/Selenium Chrome driver binary from an arbitrary location
- selenium chromedriver: chrome.exe open the python logging filehandler file
- WebElement to do a google search
- Python Selenium return text, unicode object is not callable
- Setting up Protractor to automatically open and close Selenium
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You can implement a Factory.
In your case you'll get 2 classes: one for the web and one for the mobile app.
When getting the locators instead of instantiating your class you can use the Factory to get the appropriate locators. It will check the platform and return the right object.