Software Engineering

http://v4.webdriver.io/api/mobile/getGeoLocation.html
As for the above documentation, there is a method to get Geo locations when doing mobile automation.
But when I use it in my automation code, I’m getting an error.
driver.getGeoLocation is not a function

var location = browser.getGeoLocation()

So is there any way to use above getGeoLocation() method in my code to retrieve the geo coordinates.
As an alternative, I’m using await axios.get(‘https://ipinfo.io/loc’);

This blog discusses the role of Quality Assurance in ensuring seamless IoT operations. Learn how automation in IoT QA improves accuracy and operational efficiency, enabling QSRs to meet evolving customer demands while maintaining flawless operations. Ensure your QSR’s IoT systems are secure, reliable, and ready to deliver exceptional customer experience.
The post IoT Testing in QSRs: Ensuring Quality in Connected Kitchens and Deliveries  first appeared on TestingXperts.

In today’s online world, people use different devices to open websites. These devices have various screen sizes and dimensions. Because of this, responsive web design is important. It plays a big role in web development and directly affects user experience. A website that can easily adjust to different screen sizes creates a friendly experience for
The post CSS Tips and Tricks for Responsive Design appeared first on Codoid.

In today’s world, businesses need correct information from their data warehouses to make smart decisions. A data warehouse keeps business data in order using dimension tables. This arrangement is important for good business intelligence. As businesses grow, their data also changes, affecting the changing dimensions in a data warehouse. To ensure the accuracy and consistency
The post Changing dimensions in a data warehouse: How to Test appeared first on Codoid.

The blog discusses why cyber insurance is essential to minimize financial damage from cyberattacks. This policy covers a range of incidents, including data breaches, business interruptions, and ransomware. It provides crucial financial security, legal support, and reputation management during crises. However, it’s essential to understand the coverage limits and ensure your business implements proper cyber defense strategies before applying them.
The post Digital Defense: How Cyber Insurance Shields Modern Enterprises  first appeared on TestingXperts.

In the fast-paced world of software development, maintaining efficiency while ensuring quality is paramount. AI in API testing is transforming API testing by automating repetitive tasks, providing actionable insights, and enabling faster delivery of reliable software. This blog explores how AI-driven API Testing strategies enhance testing automation, leading to robust and dependable applications. Key Highlights
The post AI in API Testing: Revolutionizing Your Testing Strategy appeared first on Codoid.

I am using selenium web driver and appium as this is mobile application automation,

I am trying to check that if element is there or not and based on that I have put conditions.

long starttime = System.currentTimeMillis();
long endtime = starttime + 60*1000; // 60 seconds * 1000 ms/sec;

while(System.currentTimeMillis() < endtime)
{

notcount = driver.findElement(By.id(AppConstants.notificationcount));

}

if(notcount.equals(null))

{

System.out.println(“No Element found”);
}
else
{

//SOME ANOTHER STEPS
}

Here issue is when element is not there , instead to redirect to ELSE part , selenium stops execution and throwing exception.

I do not want to use List -findelements here as that is taking long time to find element.

The blog discusses how Acceptance Test-Driven Development (ATDD) ensures software development aligns with user requirements by creating acceptance tests before coding. It improves collaboration among teams, helps prioritize user needs, and resolves issues early, resulting in high-quality, user-centric software. ATDD facilitates agile practices, improving business growth and delivering value by ensuring software meets technical and business goals.
The post How Acceptance Test-Driven Development (ATDD) Drives Business Value and Growth  first appeared on TestingXperts.

Artificial intelligence, or AI, is rapidly changing our world. This change brings up important questions about Ethical and Unethical AI. As AI becomes a bigger part of our daily lives, especially through AI services, we need to learn how to use it properly. We also need to consider how it might impact people in the
The post Ethical and Unethical AI: Bridging the Divide appeared first on Codoid.

java.lang.NullPointerException: Cannot invoke “org.openqa.selenium.WebDriver.quit()” because “this.driver” is null
at hooks.MyHook.teardown(MyHook.java:24)
public class MyHook extends Base{
@Before
public void beforeScenario(){
System.out.println(“Scenarios has started”);
}
@After
public void teardown() {
driver.quit();
}
}

public class Base {
public WebDriver driver;
public Properties prop;

public WebDriver initializeDriver() throws IOException{
prop= new Properties();
FileInputStream fis=new FileInputStream(“C:\Users\CITPL-Developer-2\eclipse-workspace\Fdms\src\main\java\citpl\resources\data.properties”);
prop.load(fis);

String browserName = System.getProperty(“browser”)!=null ? System.getProperty(“browser”) :prop.getProperty(“browser”);

if(browserName.equals(“chrome”))
{
ChromeOptions options = new ChromeOptions();
options.addArguments(“–remote-allow-origins=*”);
System.setProperty(“webdriver.chrome.driver”,”C:\Users\CITPL-Developer-2\driver\chromedriver.exe”);

if(browserName.contains(“headless”)){
options.addArguments(“headless”);
}
driver = new ChromeDriver(options);
driver.manage().window().maximize();
}
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
return driver;
}

public class LoginSteps extends Base{

@Given (“Naviagate to the login page”)
public void Naviagate_to_the_login_page() throws IOException {
initializeDriver();
driver.get(prop.getProperty(“url”));
}
@When (“^I enter valid username (.+) and password (.+)$”)
public void I_enter_valid_username_valid_username_and_Pasword(String username, String password) throws InterruptedException {
LoginPage lp= new LoginPage(driver);
lp.entervalidCredentials(username, password);
}

Background : I am trying to access Appium Inspector on iOS iPhone 16 using MacOS with M1.
Problem : Previously using appium inspector I was able to inspect the elements/locators for iOS on real device as well as simulator.
But after migrating to macOS Sequoia I observed Appium inspector is not getting loaded and observed error 500
Error stack :
Got response with status 500: {“value”:{“error”:”unknown error”,”message”:”-[XCUIApplicationProcess waitForQuiescenceIncludingAnimationsIdle:]: unrecognized selector sent to instance 0x600002c7f900″

Encountered internal error running command: UnknownError: An unknown server-side error occurred while processing the command. Original error: -[XCUIApplicationProcess waitForQuiescenceIncludingAnimationsIdle:]: unrecognized selector sent to instance 0x600002c7f900

After analysed I saw this is occurring after cmd ‘getPageSource’

Matched ‘/source?format=xml&scope=AppiumAUT’ to command name
‘getPageSource’

Anyone has observe this kind of behavior and already aware about fix?strong text

In this blog, we explore how AI is optimizing QA processes in order management, from automating testing to predictive analytics. Learn how AI technologies are revolutionizing the reliability of QSR order systems, while maintaining high customer satisfaction.
The post How QA Powers Scalable Order Management for Global QSR Chains first appeared on TestingXperts.

Measuring how well AI systems work is very important for their success. A good evaluation and AI performance metrics help improve efficiency and ensure they meet their goals. Data scientists use performance metrics and standard data sets to understand their models better. This understanding helps them adjust and enhance their solutions for various uses. This
The post AI Performance Metrics: Insights from Experts appeared first on Codoid.

As artificial intelligence (AI) becomes a more significant part of our daily lives, we must consider its ethics. This blog post shares why we need to have rules for AI ethics and provides essential guidelines to follow in AI development services. These include ensuring data privacy by protecting user information, promoting fairness by avoiding biases
The post AI Ethics Guidelines: A Practical Guide appeared first on Codoid.

Geckodriver 0.35.0 does not seems to support the latest Firefox as I get the error message:
org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: Expected browser binary location, but unable to find binary in default location, no ‘moz:firefoxOptions.binary’ capability provided, and no binary flag set on the command line

So I want to tell my Selenium automation to launch the previous version supported there (something from https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html).
How can I do this?

I don’t have a lot of experience in manual testing. I’m writing test cases for manually testing email authentication for a login:

user enters email and password
user is launched to verification page with a text box for a code
user is sent an email with the code
user enters code and is logged in

all I’m allowed to use right now is my own company email address. I’m the only QA in my company so technically that would work for now, but wow it feels shoddy. Would the best practice be to put logging into my email account directly in the test steps? Is there some kind of workaround that I’m missing? Is this as crazy as it sounds to me??

The blog discusses why AI governance is vital for safe, ethical, and efficient AI use in banking. Challenges such as algorithm bias, data privacy, and transparency arise as AI adoption grows in tasks like fraud detection and credit scoring. This blog outlines the importance of implementing AI governance frameworks to ensure compliance, fairness, and accountability. It also discusses best practices for banks to adopt, including risk assessments, continuous monitoring, and regular audits to maintain trust and operational resilience in AI applications.
The post AI Governance in Banking: Mitigating Risks and Maximizing Benefits  first appeared on TestingXperts.

In today’s digital world, it is important to make things easy for everyone. For Android developers, this means creating apps that everyone can use, including those with disabilities. TalkBack accessibility testing is vital for this. It is a key part of the Android Accessibility Suite and is a strong Google screen reader. TalkBack provides spoken
The post TalkBack Accessibility Testing: Expert Tips appeared first on Codoid.

The blog discusses how the Data Maturity Model (DMM) helps businesses assess their data management capabilities and improve governance, quality, and analytics practices. High data maturity ensures better decision-making, competitive advantage, and operational efficiency. Learn how to enhance your data maturity for operational improvements and business growth.
The post Data Maturity Model: A Blueprint for Data-Driven Success  first appeared on TestingXperts.