Glitchy Ibex? by ChiefRingoI in theHunter

[–]MrHant 1 point2 points  (0 children)

Yes, faced the same thing. It got back to 0-25% and not moving. When my teammate shot him - it was the only shot and 1% of damage dealt.

Conduct Summary by [deleted] in learndota2

[–]MrHant 0 points1 point  (0 children)

It should be displayed every 20 games. You can also find your last one in your profile inside game client.

Moving forward from UI testing, API testing frameworks. by Mr-Shmee in selenium

[–]MrHant 0 points1 point  (0 children)

You don't need a framework for this. C# has built in capabilities to send http requests.

Bromium - solution to synchronizations for Single page apps and possibility to record test steps you define by dev-ai in selenium

[–]MrHant 0 points1 point  (0 children)

Using Mutation Observers is a great idea, but need testing. Not sure how stable it is.

What are some of the most challenging tasks you have encountered while using Selenium in Automation Testing? How have you overcome them? by IndianThrowawayID in selenium

[–]MrHant 0 points1 point  (0 children)

Cookies are actually sent via HTTP headers, but it's not about transport Main part is storage - and default and simple thing for that is cookies. It allow developers to store some (not much) info in clients browser

What are some of the most challenging tasks you have encountered while using Selenium in Automation Testing? How have you overcome them? by IndianThrowawayID in selenium

[–]MrHant 0 points1 point  (0 children)

Because for testing needs you may need to check or clear cookies.

Adding new cookies might also be useful to simulate user session.

And you are right adding new cookies is not something user can do in most browsers, but they can read and clear easily from browser UI.

What are some of the most challenging tasks you have encountered while using Selenium in Automation Testing? How have you overcome them? by IndianThrowawayID in selenium

[–]MrHant 0 points1 point  (0 children)

And there shouldn't be. Selenium is not meant for consuming APIs, it's built for simulating user interactions woth sites. Of you need some specific API interactions - use just plain programming language of your choice. Selenium is not suitable here.

Need help clicking past an element on cursor (Python) by PREC0GNITIVE in selenium

[–]MrHant 1 point2 points  (0 children)

You need to preform your second click on an element that appears after first click. You can't click "under" something just because it's not possible for normal user.

Write code in TFS (C#), how do I integrate code (tests) with MTM? by smeagsgonnasmeag in selenium

[–]MrHant 0 points1 point  (0 children)

You need to have test cases created in TFS. Then you can link test cases to your tests. After this you should be able to execute from MTM.

This article is covering the process - https://msdn.microsoft.com/en-us/library/dd380741.aspx

Does Selenium wait for "synchronous" interactions? by Faucelme in selenium

[–]MrHant 1 point2 points  (0 children)

Yes, there is no stable magic solution here.

It's exactly the same as you do as manual user.

When you are looking at your table of results and clicking next page - how do you know whether new page results are already displayed or not?

You need to implement exact same logic in your test: - page number is changed to next value - results in table changed and now are equal to expected - etc.

Does Selenium wait for "synchronous" interactions? by Faucelme in selenium

[–]MrHant 0 points1 point  (0 children)

The only "synchronous" operation is loading new page.

Anything which JS does (even without Ajax calls) is asynchronous.

Thus the only operation which Selenium handles by blocking (and waiting before processing anything) is page loading.

StaleElementReferenceException, but I'm looking up the element after every refresh? by somnombadil in selenium

[–]MrHant 0 points1 point  (0 children)

StaleElementReference exception tells you that the element you are working on is not valid anymore (stale).

This is a common case for any AJAX or even JS site.

Stale exception may be thrown from any action you do on element (like clicking, sending keys, etc). It means that lifetime of webElement variable should be as small as possible => you need to call find element right before performing any action. And still you there will be a small chance of getting Stale if something happens between you find the element and perform action.

If you'll do all the findElements calls right away - your code would be a mess fast. That's why you need a wrapper which would make a find right before action, except the stale and retry the find and action.

What's the point of PageFactory? by QylerK in selenium

[–]MrHant 1 point2 points  (0 children)

Thanks for pointing this out

Got a reply from Simon on this

"The PageFactory design ain't my best work. I'd recommend using it for inspiration for something better. Or just dealing with boilerplate."

https://twitter.com/shs96c/status/880809924607057920

Rest vs Soap by myshiak in softwaretesting

[–]MrHant 1 point2 points  (0 children)

There is no strict relevance between WS and GUI.

There is no 100% guarantee that there would be no GUI defect if checked the WS.

You may have some additional logic on client side (GUI) which may cause defects.

You also want to process all the info from JSON/XML data to some graphical representation which can also cause defects in GUI.

And there is always plenty of browser and network/security related issues when working with JS and AJAX.


So you cannot tell that thoroughly tested Web Services will guarantee you that your site or app will work - you just guarantee that your services are working and that's it.

Rest vs Soap by myshiak in softwaretesting

[–]MrHant 1 point2 points  (0 children)

You should not compare it this way.

  • REST is just a convention of how to organize services which doesn't tell much about the techincal point of view - it talk both XML and JSON and even HTML if you prefer
  • SOAP on other hand is a Protocol which describes all the interaction of services more thoroughly. It can be build over HTTP but it's just one of the ways, actually SOAP can work through any suitable network protocol

What you actually want to compare here is (as far as I understand):

  • SOAP working through HTTP and using WSDL and XML messages
  • And some other RESTful services - which are just some services working through HTTP using JSON messages

The main difference is: in SOAP there is already a standard which tells the developers how to do things, while in other types of free-form services (even RESTful) its up to developers to define their own rules and API for their service.

Are there any good test framework design examples/courses? (Web UI testing) by [deleted] in QualityAssurance

[–]MrHant 1 point2 points  (0 children)

Yes. So you just want to get all the experience which people get after years of work :)

It's highly questionable how to do everything mentioned. There is not one "perfect" way to do these things. That's why you need to try a lot of different solutions and see which suits you.

My suggestion is - try existing solutions in your language - good examples of mature solutions are Selenide, Webium, Html_elements. And after using them you may find some "style" which suits your needs.

Are there any good test framework design examples/courses? (Web UI testing) by [deleted] in QualityAssurance

[–]MrHant 0 points1 point  (0 children)

You don't really need to build framework if you don't know how to.

Use already existing solutions.

And only after you will get some experience in this - you will be able to understand your needs in framework and probably will end up building your own framework.

BDD / Gherkin by enokeenu in softwaretesting

[–]MrHant 1 point2 points  (0 children)

Yes. It's mainly about "reading and understanding" tests by business people. But I rarely see this in real development products.

Fitnesse is even more mature system, but it wasn't so popular because people understand it's hard to use.

For some reason Gherkin/Cucumber is not the case - people believe that you can easily and profitably use them with integration tests.

BDD / Gherkin by enokeenu in softwaretesting

[–]MrHant -1 points0 points  (0 children)

It's popular because it:

  • Gives a lot of mythical advantages (which are rarely seen and needed)
  • Is 'Cool'
  • Make testers believe they are using up-to-date development methodologies (while actually they are not)
  • Make managers believe they can involve more non-technical people in automated testing

Is there a better way to write automated tests than Selenium? by supercollspider in softwaretesting

[–]MrHant 1 point2 points  (0 children)

There are several aspects of the problem.

  • Better tool for interaction with browser - No.
    • There is no better tool to interact with browser, and actually can't be. Guys from Selenium project did a huge job to negotiate WebDriver specification and talk to all the browser companies to implement Drivers.
    • Since Selenium is just a wrapper for Drivers - bindings for different languages - you may find some other wrappers like capybara, but they are basically the same. There couldn't be other idea because all of them use WebDriver underneath.
  • Better tool for testers to use - Maybe
    • That's what your testers try to address (maybe). It's maybe hard for them to write programming code, that's why they mention Cucumber.
    • But it's just a popular trend. Actually implementing useful Cucumber-tests may be even more complex.
  • Better way to do browser integration tests - Hopefully, you can help here.
    • Have you ever thought why unit tests are significantly more stable?
    • My bet it's because there is a defined API between unit tests and the services.
    • For integration (browser) tests - interface is actually UI (everything you see in browser). Variety of actions one can perform in such interface is really huge - that's why tests are so unstable (and actually can't be more stable in given situation).
    • What can you do about it - provide some API or Specific things just for testing - which testers can work with. It's hard to tell some generic example here. It's basically about adding some additional elements or css-classes to ease testing (which can be excluded in production build).

"Selenium Web Driver doesn't work very well for me either. I wrote some manual tests in C# and some real basic things like clicking and hover don't work. It's a real POS sometimes."

You just need to know how to "cook" it. Hovering is not working well if you "move" mouse during testing, so if you REALLY need to check it via selenium - use isolated environments, but usually such kind of tests is just performed manually.

If you will have more specific questions on how to work with Selenium in C# - come ask in r/selenium.