16

Why test in IE5 if the customer isn't using it? It doesn't sound like they actually want IE5 support. They just want it to work. Test in IE11 Compatibility mode, as that's what they use.


15

Another approach (or part of one). Before proceeding ask for a sign-off on a document that clearly states the security risk this presents to the organization and its customers and that they acknowledge that risk. This might get more attention, though it is obviously a little aggressive (or may be perceived to be that way). Adjust approach as needed for ...


13

Given that the customer insists, I'd recommend using a virtual environment with IE5 installed, and then search for automation solutions that can work in that environment. This will be a challenge: you will need something that can operate on the elderly operating system (I think XP can run IE5, but I'm not sure about anything newer) and preferably something ...


11

Look around on the internet, e.g. ebay, for Windows machines that are 15-20 years old. I don't like this answer but given the crazy situation I am suggesting it.


6

You can either: Look for all element that match certain search criteria: if driver.find_elements_by_css_selector(my_locator): # No element found here Catch an exception when searching for a single instance: try: webdriver.find_element_by_css_selector(my_locator) except NoSuchElementException: # No element found here


5

You can use Chrome DevTools Protocol. Try with below steps: Add path of Chrome executable to environment variable PATH. Launch Chrome with custom flag, and open a port for remote debugging chrome.exe --remote-debugging-port=1111 --user-data-dir="C:\selenum\AutomationProfile" You can now play with the browser manually, navigate to as many pages, perform ...


5

There is no way to automate this in a way comparable to your current method. This is due to the lack of comparable automation APIs and basic action feedback. It is possible to manually test this by setting up virtual machines, this can still be done, even for Windows 95 etc. This will not work on public clouds or popular commercial hypervisors, but can be ...


5

Some options in my order of preference: Probably you do not want to test the TwoFactorAuth, but you want to test the application behind it. Consider building a backdoor which is only enabled in the test environment, so that you can bypass the TFA. Generate the OTP from code with OTP.Net: https://dev.to/j_sakamoto/selenium-testing---how-to-sign-in-to-two-...


4

This could be a timing issue(as most of the scenario you already discussed) when you're going to find it would not be present at that time on DOM, so you should try using WebDriverWait to wait until this element could be present as below:- WebDriverWait wait = new WebDriverWait(driver, 10); WebElement el = wait.until(ExpectedConditions....


4

I have substantially simpler approach/solution than JAINAM's answer. When I needed similar "in the middle" manual actions, I added (in Python) break to Python debugger. Execution stopped, I did desired manual actions (you can even load another page) and then I resumed the execution. Easy-peazy.


3

There are solutions for IE6 and higher, but great scott - IE5 is out of reach, for sure for automated tests. I've found something like this: https://netrenderer.com/ but it doesn't even support https.


3

It mostly seems like your DOM is changing dynamically, so please use explicit wait using proper locator that uniquely identifies the element you want: The below thread shows the full discussion on 'Element not found': How to analyse 'Element not Found' exceptions when working with Selenium The summary is to : 1. Trust your code and doubt SUT (...


3

Try using webdriver-manager from npm: https://www.npmjs.com/package/webdriver-manager And call webdriver-manager update using batch file from your java, python or what ever tool . To create batch file , open a text file and add webdriver-manager update as the content and now save it as file.bat


3

Welcome. Yes, it can be done. You need to follow these steps: https://chromedriver.chromium.org/downloads/version-selection And you need to choose a tool in which you implement them. Let's have a look at a few lines in Python, I'll outline the main flow and you might want to build it more powerful (like command line parameters etc.) First I'll import ...


3

Your xpath locator is wrong , try the below xpath: /html/body/div/div/footer/md-toolbar/div/div[2]/img[2]/../../../../../../../../body[@class="layout-column md-dialog-is-showing"] The errors were , space after /html/body/div/div/footer/md- more than one space character after body[@class="layout-column You navigated back to parent only seven times, ../../...


3

Hi you could try converting the local text to Unicode values first, use the below website to do that: https://www.branah.com/unicode-converter So the unicode character for : הוסף תמונה או סרטון is \u05d4\u05d5\u05e1\u05e3 \u05ea\u05de\u05d5\u05e0\u05d4 \u05d0\u05d5 \u05e1\u05e8\u05d8\u05d5\u05df Now use that value in your xpath: a=driver.findElement(By....


3

Add an explicit wait after you click your menu and then once the drop-down element is present refer below steps: https://selenium.dev/docs/site/en/support_packages/working_with_select_elements/ Please refer to the above document: You can use the select class in ruby to achieve this: select_element = driver.find_element(id: 'couCode') select_object = ...


2

You can use JAINAM answer , or As you are using java , you could add a pop window that pauses your test till you finishes the manual part and resumes the code. import javax.swing.JOptionPane; //your code //Pop while doing, your manual stuff int choice = JOptionPane.showOptionDialog(null, "Ready to resume the scripts?", "Please confirm", ...


2

Possibly - if u use a terminal through a browser window. See https://github.com/jupyter/terminado This lets you run a terminal in a browser. So now you might be able to get at items as web elements. But I don't know if the terminal is displayed as part of the DOM - quite possibly not. Whether it accepts commands like a <input> element remains to be ...


2

It seems the second page is opening in a new tab, please switch the tab before interacting with the page: driver.findElement(By.xpath("/html/body/div[4]/div[2]/div[2]/div[2]/div[2]/div[2]/div[2]/div/div[4]/div[1]/div/div/div[2]/div[1]/span[1]/strong/span/div/ul/li[1]/span/a")).click(); ArrayList<String> tabs = new ArrayList<String>(driver....


2

Reading your comments I see that app is based on Angular and this: This service appointment has no scheduling dependencies. Does that mean that: First you need to select service appointment (whatver that is) And then check for scheduling dependencies? If yes, then it looks like you need to: Click for something Wait until the element is shown (you can ...


1

I would like to suggest a different way to get to the element that I use a lot. It might be slower, because it does mutliple FindElement(s) calls, but it is so much more readable and understandable. var container = driver.FindElement(By.ClassName("items-container")); var spans = container.FindElements(By.TagName("span")) spans[1].Click(); You find the div ...


1

I hope what you want to do is : driver.findElement(By.partialLinkText(name)).click() You already have the link text stored in the variable 'name' . So once you are in the target page , use above command .


1

https://selenium-python.readthedocs.io/locating-elements.html The above link gives the selenium documentation for python. I Believe that you are trying to get all the text in option tag and store it in a list To get the text from multiple elements use below code: a= driver.find_elements(By.XPATH, '//select[@name="fromPort"]/option').text; print(a); or ( ...


1

You are missing one line for your setup: profile.setPreference("browser.download.manager.showWhenStarting",false); Also I would check if the browser.download.dir is not missing proper path to disk (plain"Downloads" might not be enough and you should use full path to disk).


1

For of all thank everyone for your help! The answer was quite simple and I hope some of the senior members dont get mad. In order to access the elements on the second page all I that needed to be done is switch to the correct tab. ArrayList<String> tabs2 = new ArrayList<String>(driver.getWindowHandles()); driver.switchTo().window(tabs2....


1

I'm not sure exactly why, but I updated my version of Appium to the v1.15.1 and now things are working. I guess there was some incompatibility of versions somewhere. Anyway, things are working now, which is great!


1

I would go with debugging mode, because (response about Chrome won't do anything if you need to test app on IE/Edge/other browser not based on Chromium). Case #1: For instance, I need to manually launch the browser, navigate to the desired page, perform some manual tasks like entering captcha manually and then run the automation script to continue ...


1

There are multiple reasons for that. But first let's fix this code first: class LoginPage(){ WebDriver driver; //here you have global variable for this page object public LoginPage(WebDriver driver) { this.driver = driver; PageFactory.initElements(driver, this); } } You will want to have access to driver instance. ...


1

I have tried this code for Google.ca and it worked: driver.get("https://www.google.ca/") String color = driver.findElement(By.id("gsr")).getCssValue("background-color"); System.out.println(color); Output: rgba(255, 255, 255, 1)


Only top voted, non community-wiki answers of a minimum length are eligible