Saturday, September 14, 2024
Recursion
https://en.wikipedia.org/wiki/Recursion
https://en.wikipedia.org/wiki/Recursion_(computer_science)
https://www.youtube.com/watch?v=GOs07Kn2W1E
Base Case & Recursion Case
Base case can be implicit (like end of a for loop)
problems solvable in this space:
Iterative method is alternate to recursion
Friday, September 6, 2024
DSA - Data Structure and Algorithm
https://www.geeksforgeeks.org/learn-data-structures-and-algorithms-dsa-tutorial/
https://www.geeksforgeeks.org/top-50-array-coding-problems-for-interviews/
https://www.geeksforgeeks.org/explore?page=1&category=Arrays&sortBy=submissions
https://www.w3schools.com/dsa/
https://www.tutorialspoint.com/data_structures_algorithms/index.htm
Specifications in Machine readable format
- Backus–Naur form - notation used to describe the syntax of programming languages or other formal languages
- OpenAPI Specification - describing, producing, consuming, and visualizing RESTful web services
Wednesday, September 4, 2024
OpenAPI Generator landscape
Templates:
Specifications:
Misc
- Microsoft OpenAPI .Net
- Security Testing
- Specmatic Contract Driven Development
- https://github.com/microsoft/restler-fuzzer
- https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/05-Authorization_Testing/04-Testing_for_Insecure_Direct_Object_References
- https://www.zaproxy.org/docs/desktop/addons/fuzzer/
- https://github.com/aress31/openapi-parser
- https://github.com/Yelp/fuzz-lightyear
- https://42crunch.com/api-security-platform/
- https://portswigger.net/burp
- https://keploy.io/
Thursday, August 29, 2024
Selenium
Components of Selenium
- Selenium IDE
- Selenium RC
- Selenium Webdriver - communicated with Browser
- Selenium Grid
Limitations
- Image not supported
- no reports
- No RestAPI or Database support
- No Mobile testing
- Can not handle popup
- Dynamic content????
WebDriver Capabilities (not not in RC):
- multiple frames
- pop-ups
- browser windows
- alerts
- page navigation
- drag & drop
- Ajax
Object Repository
Wait:
- Implicit - wait for
- Explicit
- WebDriver wait
- Fluent wait
Locators types
- id
- name
- link Text
- Partial Link Text
- CSS Selector
- xpath
FindElement/elements
- driver.findElement(By.id("")
Size of the Window
- maximize()
- getSize()
- setSize()
- JavaScriptExecutor: executeScript - executeAsyncScript - for scroll
POM - Page Object Model
Page Factory
Action Class - mouse/keyboard
drag and drop, control key
Alerts
- void dismiss()
- void accept()
- String getText()
- void sendKeys(String stringToSend)
Robot (Native) - mouse & keyboard
- upload files
- keyPress()
- keyRelease()
- MouseMove()
- MousePress()
- mouseRelease()
Screenshot
- File src = ((TakeScreenshot)driver)getScreenshotAs(OutputType FILE);
Window Handle
- get.windowhandle()
- get.windowhandles()
- set
- switch to
- action
Listeners
- Event Listeners
Assert and verify
Proxy
String PROXY="192.168/0.0:4444";
Capability.setCapability(CapabilityType.PROXY,proxy)
Network Latency = driver.manage.pageLoadingTime()
Serversidelog: java -jar.jar -log selenium.log
Exceptions:
- WebDriverException
- NoAlertPresentException
- NoSuchElementException
- NoSuchFrameException
- NoSuchWindowException
- Timeout
driver.switchTo.frame() - name, number
Subscribe to:
Posts (Atom)