Selenium IDE issue on Mozilla firefox: table view is not available with this format - selenium

I am trying to work with the Selenium IDE on Mozilla Firefox (version 55.0.3).
The issue is that for some reason I cannot see any action I perform on the browser (such as waitForTitle, verify title etc.). They should be displayed in the Selenium IDE I have installed as a developer tool (in the table).
Also, when trying to click on something in the IDE, I get the following error message:
There was an unexpected error. Msg: TypeError: window.editor.infoPanel is undefined Url: chrome://selenium-ide/content/selenium-ide.xul, line: 1, column: 1 onclick#chrome://selenium-ide/content/selenium-ide.xul:1:1
Most likely, this is related to why I cannot see any action in the table.
This problem really bugs me, because I Googled the exact error message and was unable to find a proper solving-system to deal with it. I mention that my clipboard format is already set to HTML.
All suggestions are welcome, and thank you in advance for taking the time to read this.

The Selenium IDE is no more supported and it may be a issue with latest firefox version. If you really want to use it then go back to a older version of firefox

Related

Require is not defined with selenium webdriver and broswersify does not appear to be not an option. How can I proceed?

My question relates to implementing the solution proposed in this post. The error I first get is that the webdriver is not defined. For that, I tried the following solution. But at that point, I get an error that "require()" is not defined, which brought me to this final solution. I tried the recommended Browserify option, but I don't think it's going to work for me because I can't just throw a "script src="bundle.js"" into the html as I want to use the webdriver to open the YouTube "stats for nerds" menu every time an ad is detected to get the video ID of that ad via a Chrome extension. Not sure if this is possible. Any help would be highly appreciated. I'm new to JS.

How can I trigger a click from the console with Cypress?

I'm trying to run commands on cypress from the command line. For instance, selecting an element and clicking on it.
I'm trying to do this to try some tests without having to need to run all the previous steps at this point. I'm not sure if this is possible due to the sequential nature of cypress, but it would be really helpful if there was some way to do it. I assumed something like this would be possible from the developer tools console:
cy.get('[data-test="save button"]').click()
I'm aware this doesn't work, so I tried with now and then and some other weird strategies. Reading the documentation didn't help. At least the part I read. Any details are appreciated.
--- edit ---
The console is on the same chrome instance that contains the selector playground like shown in in the image below.

Retrieve current chrome open page in html without saving it

I'm implementing a python script mainly based on pyautogui. One of the things the script does is to open a chrome webpage. After that I would need to access the DOM of this currently open webpage.
Since I've not opened the browser with selenium, I can't use it to analyze the DOM.
However, my question is: is this currently open chrome page available/saved somewhere in the hard drive so that I can access it with selenium? Like an .html file?
I checked many other questions here and users talk about chrome cache, but there are no html files there.
I just need to be able to access the current open page and not all the historical data in the cache.
Opening web browser directly with selenium is not an option either, since most of the websites analyzed have captchas and distil technology.
Thanks.
If you start the original chrome with --remote-debugging-port=PORT_NR argument, and visit localhost:PORT_NR from another browser, you will have access to the full content of the browser, including dev console.
Once you have this, you have multiple ways to go:
You can visit http://localhost:PORT_NR with with any other browser (or even with the same browser), and you should have full access to the content of the original Chrome. With Selenium you should have a relatively easy time to get by.
You can also use the devtools api (the documentation.. is.. well... there is room for improvement. Search for chrome devtools protocol to be amazed by the lack of docs). As an example you can get to http://localhost:PORT_NR/json to get the available debugging URIs. Grab the relevant websocket endpoint (webSocketDebuggerUrl). Open a websocket connection, and issue a command, like {"method": "DOM.getDocument", "id":12}. You can find available DOM related commands here: https://chromedevtools.github.io/devtools-protocol/1-3/DOM
Sice I had to reinvet the wheel I may give some extra info that I coudn't find anywhere:
Start the Browser with remote debugging enabled (see previous posts)
Connect to the given port on localhost and use these HTTP-GET-Requests to geta very limited control on your browser:
https://chromedevtools.github.io/devtools-protocol/#endpoints
Most important:
GET /json/new?{url}
GET /json/activate/{targetId}
GET /json/close/{targetId}
GET /json or /json/list
To gain full control over the browser, you need to use a "websocket" connection. Each Object in the GET /json or /json/list has it's own ID. Use this ID to interact with the tab. Btw: Type "page" are normal tabs, the other stuff are extentions and so on. Once you know which Tab you want to influence, get it's "webSocketDebuggerUrl".
Use this URL and connect with something that can speak the Websocket-protocol.
Once connected, you must craft a valid Json by the following structure:
{
"id":0,
"method":"Page.navigate",
"params":{url:http://google.com}}
}
Notes:
ID is a simple counter (int) that get bigger - not the ID of the tab(!)
Method is the method described in the docs params is also in the docs.
The return values are always JSONs.
From now on you can use the official docs:
https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-navigate
Dunno how other ppl found out about it but it took a few hours to get it working. Probably cause everyone is just using python's selenium to do it.

Prestashop Technical Error: Details: Error Thrown: [Object Object] Text Status: Parsererror

I am getting this error when trying to add weight ranges to shipping carriers that I have. It mostly seems to happen at random and I have been able to complete some of the carriers but others will cause the error every time. The console reports the following: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
Is there a solution for this? I couldn't find anything online about it.
I have v. 1.6.1.4
Thank you!
You have to use firefox developper and when you get the "Parseerror"
using the developper tools you go to network and select your last query.
On the right you have a window with all the options of the query : cookies parameters... select response.
You should see the response of the parse error.
For me it was just a parameter of the form that could not be empty.
Putting a random word made everything work fine.
The same thing happened to me when adding weight ranges.
The annoying thing is i had to restore a backup of the tables ps_range_weight and ps_carrier.. as for every single instance of
"Prestashop Technical Error: Details: Error Thrown: [Object Object] Text Status: Parsererror" it made a new entry and i ended up with over 700 weight ranges.
Anyways, i restored to the last fucntioning versions of ps_range_weight and ps_carrier (needed doing) and disabled the standard paypal plugin from prestashop. After that it worked fine.
.
Hope this helps someone.
I have found a solution for this on Prestashop 1.7
This happened to me as well when I changed the theme, however, I checked the Database and found that the carrier ID in ps_range_weight has randomly changed!
Solution
Fix the carrier ID in the database to the correct one and this error should not be appearing again! Good luck
ps_range_weight

selenium not reading javascript alert in c#

i am using selenium ide for testing my .net website. i am testing login for the website by using selenium. i recorded the steps and as i am testing the code in visual studio the test case is failing. my test case is:
selenium.Open("//login.aspx");
selenium.Type("fldUsername", "abc");
selenium.Type("fldPassword", "abc");
selenium.Click("btnLogin");
bool log1 = selenium.IsPromptPresent();
Assert.IsNull(log1);
selenium.WaitForPageToLoad("80000");
here username and password are incorrect and is giving a alert. but using selenium it is not getting that alert. please someone help me out..
Probably should have been migrated to sqa.stackexchange.com, but, either way.
Is there any reason why you're creating log1. It would be much for efficient to do something like: Assert.isFalse(selenium.IsPromptPresent());
I don't use Selenium 1 much, however, after a quick test, this seems to work.
Assert.IsTrue(Regex.IsMatch(selenium.GetAlert(), "regex to match"));
As for the regex matching, if you're going to make sure that the prompt is there, you might as well make certain that it's the correct prompt.