I have an javascript application which I created on windows for windows browsers and released on the internet.
I bought an iMac last week.
And I found the application can run normally on mac, too.
I need to maintain and modify the application in the future.
And I want it to run on both windows and mac.
If javascript of firefox and chrome of mac have complete compatibility against those of windows,
I need neither windows machine nor windows in the bootcamp.
Do javascript of firefox and chrome of mac have complete compatibility against those of windows?
Or should I test the application not only on mac but also windows for every update?
I don't want to do that if possible.
JavaScript in Chrome / Firefox / Safari should be the same on OSX and Windows provided you are using equivalent versions between OSX and Windows. If you find any differences, then you'd probably be best to file a bug with them.
Mind you, I am talking about just pure JavaScript. If you are worried about how it displays, then it will probably be different. Browsers render certain components differently depending on the operating system; such as the default font, the chrome of the buttons, etc.
You should be more concerned about the version of the browser when testing, not the platform it is running on.
Platform-specific bugs are few and far between, but the are possible. Yahoo tests on multiple operating systems, not just multiple browsers. It's a question of how careful you want to be. For most sites, you can probably assume that the OS won't make a difference.
If what you're saying is accurate, then it was a mistake in the design of the JavaScript. You should have been testing for particular JavaScript capabilities, but it seems in you were testing for browser names.
Related
I have a general question. I'm working on my first program in JavaScript and while I'm working on them I experienced some weird "broken browser"-problems.
During the weeks of work on my program I tested the project often on different browsers and computer systems. While doing it I observed weird behavior on Firefox and Chrome in specific versions. In both cases the program worked fine in both browsers then suddenly I experienced problems in Firefox on Windows on one machine. After some research I tried to update the browser and the problem was gone. The same experience I had on Chrome on Linux. It worked fine, then suddenly I had problems with Chrome 48. I tested the program on Mac and Windows, everything was fine. Then I recognized that the browsers on this machines has the version 54. So I updated on my Linux machine to the newest version and the problem was gone.
My Question: is it normal that such things happen with specific versions of browsers and if so, how to deal with it if you're working on bigger projects?
Edit: From the answers below I see that I was not clear with my question. The Question is not really about cross-browser compatibility than more about why a programm works in chrome v47, but not in v48, and then it works again in v54. Same for Firefox and other browsers.
You have to read about cross-browser compatibility.
Each browser may have different implemenations of specific functions or even do not have.
For older browsers like IE8 and less even simple window.innerWidth
doesn't work.
jQuery may help you. Its library which effectively provides cross browser compatibility for a lot of cases.
Another way to test if browser support some function is using Modernizr
You can also check support manually by websites like caniuse.com - works mainly for css styles but also js
I need to test javascript on IE8 but since I updated I cannot install IE8. What do developers do in this situation?
The most reliable way is having multiple virtual machines installed on your computer (or on a testingstation) that run different windows versions and IE versions.
There is no way to install IE8 or multiple IE versions at the same time on one windows installation.
You find all windows versions and IE versions here and also some instructions how to set up the virtual machines.
Another way is to use the tool IETester, which only runs on windows and kind of simulates different IE's. It never really felt reliable to me.
There are also different companies, which provide multi-browser testing suites. They allow you to remotely test browsers (including IE8) remotely on their servers. For example Browserling or Browserstack.
Use a VM! Get something like virtualbox and you can get the box from Microsoft https://dev.windows.com/en-us/microsoft-edge/tools/vms/windows/
You can use the emulator built into 11 but know that it's not a direct emulation and isn't the real thing. A VM will create a new machine that is running a paired down version of windows and the browser.
If you open the developer tools there is a button on the top right corner which allows you to run the browser as an older version of IE:
I am new the Cross Browser Testing and just starting to look at Selenium however I can't seem to find the answer to the followings on the official site. It would be much appreciated if someone can help clarify for me.
Does Selenium integrate "independent browsers" (via webdrivers) or uses/links existing browsers installed in the OS?
If Selenium uses "independent browsers", can it actually "open" for instance say IE7, IE8, IE9, IE10, Safari in OS (say windows) separately after which you can test the UI?
1) The browsers that you want to be tested should be installed in your machine. so the answer is it uses existing browsers.
2) No. You have misunderstood.It can automate only the browsers available in the OS. BTW, you can not have multiple version of same browsers in same machine... unless you run from a pen drive.
Using RemoteWebDriver and Selenium Grid, you can have different machines hosting different versions of browsers.
The tests will still execute on your machine but the browser will open on a machine which has the version you define in the test.
This is especially useful when running tests as part of a CI build when the CI server will often not have browsers installed.
Building and maintaining your own grid can be time consuming so companies such as Saucelabs provide a cloud solution in which you point your tests to open browsers on their grid. They have most combination of browsers, versions and os.
I am developing a javascript bookmarklet that needs to be functional in IE 7 and IE 8. However I have IE 9 installed on my systems. Besides running separate instances of Windows that have older versions of IE installed, what are my options for being able to test a bookmarklet in IE 7 and IE 8? I have tried IETester, but haven't found a way to "install" a bookmarklet since there is no favorites bar to drag to.
You can either use virtual machines, which can be kind of a lot work to install. I personally use the tool Cross Browser Testing. It's the best way to make sure it will work in every single browser.
It has two types of testing, screenshots and remote control. In your case you might want to remote control a virtual machine and test it out.
Using virtual machines to run instances of windows with different combinations of the OS and the browser is the best that I've found when it comes to "manual" testing of things across browsers.
Some may say that running IE8 in 3 different VMs (XP, Vista, and 7) is overkill but I've found differences by doing this and when you don't have the flexibility to say "just upgrade", you don't have much choice.
You could also use BrowseEmAll which can run IE 7, 8, 9, 10 and 11 on your local machine.
I'm testing IE7, IE8, Safari, Chrome and Firefox.
It would be pretty less boring if you guys told me that I don't need to test for XP, Vista and 7, since there's no difference.
Thanks
There are some differences to do with security, in particular what varieties of Windows authentication (NTLM and Kerberos over HTTP) are acceptable.
Also of course each Windows version has a different theme, which will affect what form elements look like and may trip you up if you were relying on the same pixel size of a scrollbar or something like that (a bad thing to do anyway).
Other than that, no, they're pretty much the same.
There are no differences in the same Browser Version run on different Windows OS. So if you test your site in IE* on Windows Vista, it should work in XP and 7, too. And also the other ways around. But I would use at least Windows Vista, because the IE9 is coming soon, and it won't run on XP.
I would also test on the different operating systems due to the way fonts may render as your layout could be impacted. Here's a site with a reference of some differences.
http://www.upsdell.com/BrowserNews/res_fonts.htm
Functionality will likely not be impacted, but if you are going to have users that have those versions of the operating system you need to test on them.