Accept download alert message pop up in Katalon Studio - web-testing

I create automated testing by click on download button to download file (.pdf, .xlsx, .exe, .application) but every download, it showed the pop up dialog to confirm.
So, how to access this pop up or let it download automatically without asking?
I try to add reference in execution and run it by opening browser and click download, but it still show that dialog message.
For Chrome
Log view (chrome)
For Firefox
Log view (firefox)
Or Set Reference by this way (still not working)

You need to set these preferences under Project -> Settings -> Execution -> Default -> WebUI -> Chrome.
Variable prefs has to be created and values below has to be added to array.
browser.download.manager.showWhenStarting : Boolean : false
safebrowsing.enabled : Boolean : false
browser.helperApps.neverAsk.saveToDisk : String :
application/download,
application/octet-stream, text/csv, application/vnd.ms-excel, application/msexcel, application/x-msexcel, application/excel, application/pdf
safebrowsing-disable-download-protection : Boolean : true
You can read more about Desired Capabilities in Execution settings.

Also struggled a bit. I've got the chrome answer still searching for Firefox answer.
For Chrome add a property with the following:
Name: prefs
Type: Dictionary
Value: {download.prompt_for_download=false}
If you want to specify the download directory you can add the value to the Dictionary: {download.default_directory}
You can also check out this site Capabilities & ChromeOptions for Chrome's capabilities.

Related

How to POST an attachment(PDF) via Gatling?

I'm trying to improve a script that I already have for load testing with Gatling. The scripts consist in injecting data filling forms with different type of inputs(dropdowns, textboxes, checkboxes, etc..). Now I have a form to upload attachments and I am trying to POST a PDF file but I have not found a way to do it.
If a open the network in the browser developer tools and upload the file and continue to the next form this is what I get:
1- First POST is when I click on "Choose File"
2- The second POST is when the file is already uploaded and I click on "Save & Continue"
I'm pretty sure I'm doing something very wrong, this is the .exec I'm currently have
.exec(http("Upload the file")
.post("/private/private/private/forms/submit")
.headers(shared_headers)
.formParamMap(Map(
"resumableChunkNumber" -> "1",
"resumableChunkSize" -> "1048576",
"resumableCurrentChunkSize" -> "10080",
"resumableTotalSize" -> "10080",
"resumableType" -> "application/pdf",
"resumableFilename" -> "Caso_SimuladoSC_202.pdf",
"resumableRelativePath" -> "Caso_SimuladoSC_202.pdf",
"resumableTotalChunks" -> "1"))
.bodyPart(RawFileBodyPart("file", "Caso_SimuladoSC_202.pdf")
.fileName("Caso_SimuladoSC_202.pdf")
.transferEncoding("binary")).asMultipartForm
)// end exec
The PDF file is in my Gating repo with another files.
How can I achieve this? Any idea?
Answered on Gatling's community forum. This form is signed with AWS Signature v4.

How To reuse .getText value in another page Java Selenium

I am trying to use .getText and want to use that retrieved text, on another page(Search box).
Can I get any help?
I am using Java Selenium.
Thanks
In advance.
You can use the sessionStorage and store the text using getText() add data
to the session storage and it will be accessible to any page from the same site opened in that window.
Update
SessionStorage can store up to approx 5MB of data which will be store on the browser and will be available to the pages which will be open in that tab, It means once you close the tab it will be deleted and not accessible. It expires on the closure of the tab.
String text = driver.findElement(By.xpath("//*[text()='Google offered in: ']")).getText();
WebStorage s = (WebStorage) new Augmenter().augment(driver);
SessionStorage ss =s.getSessionStorage();
ss.setItem("Text", text);
driver.findElement(By.name("q")).sendKeys(ss.getItem("Text"),Keys.ENTER);

Dialogflw project location and laguange selected

Dialogflw project has the location and laguange selected properly, but the error mensage show up when I try open Action on Google console.
I try it solve the problem in many ways, but it doesn’t work.
Failed to upload action package to AOG (preview)
Request contains an invalid argument.
Locale pt-br was selected but the language pt-BR has not been selected.
enter image description here
enter image description here

How to avoid loss of driver object?

i am trying to migrate our test automation from watir-classic to watir-webdriver. (Ruby 2.0, watir-webdriver 0.9.1)
Which is working fine in general, but our login process gives me a headache.
Lets me short explain what happens:
Open Website A
Enter login credentials and press login button.
Website B is opened with the actual content while Website A is closed.
With the closing of Website A, the driver is also lost, i currently i cannot make a new instance of the driver to connect to the Website B.
when i try to do create an instance of the following pageobject, i get :
variable name="#exception" kind="instance" value="Unable to get
browser" type="Selenium::WebDriver::Error::NoSuchWindowError"
I do this by:
def click_loginbtn
##driver.button(id: 'loginBtn').click
return ProjectList.new(##driver)
end
Has anyone a good idea for this?
Your driver is still active, you just need to access the new window.
To get a list of active windows available:
#browser.windows
You can switch to another window by handle, title, url, index or collection
#browser.window(title: 'My new window').use
#browser.windows.first.use

PyGTK - "Could not show link" in AboutDialog

My GtkAboutDialog has its website attribute set to a valid URL.
When clicking on it, the window freezes, and then I get the following warning:
Could not show link
HEAD request failed: WinHttp error: TIMEOUT
Just to clarify, in other point of my program I explicitly access a website with webbrowser.open, and it easily opens the URL in the browser.
EDIT
After investigation, it appears that the website feature is using gtk.show_uri(). Calling it from the Python console (like this: gtk.show_uri(None, "http://www.google.com", gtk.gdk.CURRENT_TIME) ).
I have bypassed the problem by re-assigning the uri_hook to my custom function.
def uri_hook_func(self, ignore1, url, ignore2):
webbrowser.open(url, new=2)
...
gtk.about_dialog_set_url_hook(self.uri_hook_func, data=None)