Status of jQuery TestSwarm? - javascript

I hope You are more 'on the ball' than I am.
I remember getting news on the Mozilla labs TestSwarm (now jQuery TestSwarm) some time ago. It had active users then, but it was not more than 10 per a single browser+OS configuration.
I went there today expecting it to be far better and it turns out that there are NO active testing environments. Moreover, when I tried to view the http://testswarm.com service:
Invalid query: Lock wait timeout exceeded; try restarting transaction` once in every two or three queries.
Is this project dead? Are there any similiar community projects for JS testing that I could not only take part in, but use for my code? Or do I have to test JS myself?

The following website is still live.
http://swarm.jquery.org/
(The link on that site is old at the moment I'm writing this.)
And if you want the code:
https://github.com/jquery/testswarm

At FOWA Miami in February (2010) I asked John Resig about it and his answer was like this (not exact words but that's what I remember of it): Still very much high in his plans since the next steps were to get jQuery Core support on mobile really solid and part of achieving this goal will be the need to automate testing on various platforms as much as possible which is what test swarm is about.

The project is still alive. John last committed around April 13, 2011. The unit tests for jQuery core and QUnit both make use of the swarm and are updated at regular intervals.

It appears Microsoft either forked the code or recreated the project.
Check out BrowserSwarm
Another recent alternative seems to be CodeSwarm.

Related

Is it possible to join the Google One-tap sign in beta test programme? [duplicate]

Does anyone know what is the status of Google One-tap AKA YOLO project?
It seems like all the official documentation on One-tap is gone. The cached version states:
The beta test program for this API is currently closed. We are improving the API's cross-browser functionality and will provide updates here in the coming months.
There are quite some websites which are still using this technology, either because they were in Beta and/or whitelisted by Google.
There is a new version that addresses the feedback and issues from the beta, it's available as of 2020 Q1: https://developers.google.com/identity/one-tap/web
All of the prior URLs regarding one tap are all 404 errors now. Seems like it was totally canned and they are deferring to the more generic sign in integration from a website login page.
The offical document of the project has been updated. Please see the latest status there.
this time stuff gonna be the opposite > 2. Headings:
reword//06{GUIDEDLATEVIEW||2022 blank

Major Ember upgrade - 1.12 to 3.5

In nearest future I will be doing a serious update of the application. I have a little experience with ember.js & have no one who can help me resolving this matter. The app is written in ember 1.12, and there are few dependencies. It has a web version and mobile (iOS+Android) written in cordova - all of them need an upgrade.
What kind of problems should I expect?
How to prepare for them?
How much time should I estimate?
Any help will be very useful- it's first time when I will be doing app upgrade.
I have checked this links, but most of them are for above 2.0 versions.
https://www.emberscreencasts.com/meta_guide_to_upgrading_ember
https://medium.com/ingenious/how-to-upgrade-ember-js-to-3-x-and-live-to-fight-another-day-cfc28c16b726
http://www.ember-cli-diff.org/
https://medium.com/front-end-hacking/everything-you-need-to-know-to-upgrade-your-ember-js-app-including-ember-3-9de5e808dde0
https://medium.com/ember-ish/upgrading-ember-from-1-13-to-2-8-0-f1dbcecc40ca
https://medium.com/front-end-hacking/how-to-use-ember-2-code-in-your-ember-3-app-9ed15c28bad6
Depending on the size of your application and how extensive your test suite is, you'll probably be dedicating a minimum of 4 weeks getting just the web version up to 3.5.
The process will be time consuming and tedious.
1. Upgrade by 1 minor version (1.12->1.13)
2: Run your test suite and fix any issues that come up
3: Manually test the tool by navigating around & fix any issues that come up
4: During the testing, you should have identified a handful of deprecations. Fix those.
5: Repeat steps 1-4
6: After you've upgraded to 2.0.0, you may be able to skip a couple of minor versions at a time, if you aren't using private APIs and your dependencies are small.
Ember maintains their [changelog](
https://github.com/emberjs/ember.js/blob/master/CHANGELOG.md) as well as a page that lists deprecations and their solutions, so you'll want to become buddies with the version you're upgrading to. For each deprecation they mention, check the linked issue history to see what the suggested replacement is. Be proactive - don't wait until the final version to fix a deprecation.
The big/common issues you'll encounter are:
Views are deprecated and removed. You'll need to understand how components work and migrate any existing views to a component.
The select helper gets removed.
If your views & components use targetObject to get the controller, you'll need to make them work without doing it. This means determining what properties & actions need to be passed in and explicitly doing it. Components shouldn't know anything about what called them.
Ember has a solid guide on working with deprecations at https://guides.emberjs.com/release/configuring-ember/handling-deprecations/ that may be of some help.
Keep your changes versioned. You'll break something bad enough that it's easier to just roll back and try again. If you're not using versioning, you're in for a really hard time.
Finally, make sure you clean out your npm directory between versions & wipes - If you don't, you may thing everything is working, but it really isn't.
As Patsy commented - You're probably better off hiring someone who knows ember very well to do this upgrade. If you don't know ember very well, you may be putting fixes in that back you into a corner.
I upgraded a bunch of Ember apps / addons from 1.11 -> 2.18 in advance of the 3.0 release. I don't think there was a single minor version upgrade until the 2.10s that didn't break my app.
I also simultaneously upgraded ember cli with the app. I tried upgrading ember cli to the latest, but I had a bunch of cryptic errors and reached a sort of dead end. What I instead opted for was looking back at the Ember release notes and seeing which version of ember cli was the latest at the time of the Ember release. I would upgrade Ember cli every 4 versions or so, unless if I encountered issues at which point I would immediately upgrade.
The single most important thing is automated tests. I see that you say you have no tests and will just manually test but this is foolish. I had a bunch of code that I needed to upgrade that had no tests. I wrote comprehensive tests over the course of a week since I had two weeks to do the upgrade. These were absolutely vital and some upgrades would break 60-80% of my tests. It would have taken me 2 months without tests probably, but I accomplished it in 2 weeks with the tests, using the first to write the needed extra tests.
Comprehensive tests are best, but far from necessary. At the minimum I would recommend you take the time to mock your API calls and write an acceptance test for each page of your app that serves as a smoke test. The test is as simple as go to the url and check the dom is there. Ember cli page object helps immensely + html5 test-* data classes.
Once you've done that, follow what #Trenton Trama suggested. Upgrade minor version, run tests, fix problems, rinse and repeat until fully upgraded.

Semver is too difficult or what’s going on?

I noticed that in JavaScript world something changed over time. Previously backend and frontend used semver approach when it comes to version a library or app. Now, in JS world some and I see more and more libraries or frameworks follow the approach to release major version 2 or even more times per year. Let’s take Angular, Ionic for example. Some of my ex or just colleagues also are using the approach.
Why is that? I am asking this as I am a backend developer but I am about to release a JS - powered library and I am a bit confused how to version this.
They release much more frequently major versions precisely to comply with server requirements: they gradually introduce some breaking changes (even if most of the time they are small), therefore release with a new major version.
In the case of Angular, as you notice they plan to release a new major version about every 6 months. The idea is to keep freedom to improve the library without being constantly stuck with full backwards compatibility requirement.

How to run unit-tests in all browsers?

I've never used Selenium but I guess it's for simulating user interaction in all browsers.
That's like integration tests.
But how do you test your js libraries/frameworks (unit testing) on all the browsers in an automated way?
For unit-testing you can try http://code.google.com/p/js-test-driver/
JsTestDriver consist of a single JAR file which contains everything you need to get started. For in depth discussion of command line option see GettingStarted.
Here is an overview of how JsTestDriver works at runtime...
You can have a look at TestSwarm:
project that I’m working on: TestSwarm...
Its construction is very simple. It’s a dumb JavaScript client that continually pings a central server looking for more tests to run. The server collects test suites and sends them out to the respective clients.
All the test suites are collected. For example, 1 “commit” can have 10 test suites associated with it (and be distributed to a selection of browsers)...
The nice thing about this construction is that it’s able to work in a fault-tolerant manner. Clients can come-and-go. At any given time there might be no Firefox 2s connected, at another time there could be thirty. The jobs are queued and divvied out as the load requires it. Additionally, the client is simple enough to be able to run on mobile devices (while being completely test framework agnostic)...
The best one imo is the one from YUI : http://developer.yahoo.com/yui/3/test/
But doing unit-testing in every browser is kind of hard... Most people just test with it during development and just use node.js to test later on in case they broke something.
As the referenced post in a previous article suggests, you could use js-test-driver.
Its specifically for JavaScript unit testing across multiple browsers, exactly what you want. I have messed around with it and it is pretty good. I haven't done any serious commercial testing in it though.
For unit testing you should look at solutions that do not load up a browser to do the tests.
You can look at something like RhinoUnit for that - http://code.google.com/p/rhinounit
Also have a look at Dojo Object Harness (DOH) unit test framework http://dojotoolkit.org/reference-guide/util/doh.html
Look at a similar question here which can give you an idea on how to TDD js - JavaScript unit test tools for TDD
It's no longer actively maintained, but I've still been happy with JSUnit for Javascript unit testing: https://github.com/pivotal/jsunit
It includes both an HTML/Javascript framework you can run in the browser, and a java-based test runner that you can invoke from ant.
To test multiple browsers in parallel you would Selenium Grid. Please take a look here: http://selenium-grid.seleniumhq.org/step_by_step_installation_instructions_for_windows.html for step by step instructions on how to use it.
I haven't used it so far, and it is still in beta, but FuncUnit declares itself as "A functional test suite based of qUnit, Selenium and jQuery".
There is also an infographic explaining how it works
Maybe it is something what you want? The github repo seems to be quite active.
You should check http://saucelabs.com its a cloud base selenium environment that allow you to build your test and then upload them, run them in as many browsers as you want.
You should consider the capabilities offered by crossbrowsertesting.com
(It is not for free). For js testing try JsUnit (http://www.jsunit.net/).
Quoted from its homepage
JsUnit is a Unit Testing framework for client-side (in-browser) JavaScript. It is essentially a port of JUnit to JavaScript. Also included is a platform for automating the execution of tests on multiple browsers and mutiple machines running different OSs.
As people have already said so, you should use JsTestDriver. It has it's own test system, but you can use other test libraries with it, for example Jasmine ( http://pivotal.github.com/jasmine/ ). You can find a list of adaptors for JsTestDriver here: http://code.google.com/p/js-test-driver/wiki/XUnitCompatibility
I'd go for QUnit, which is what jQuery uses. I've ran it on lots of desktop browsers as well as iPhones and Android phones.
There's some great tutorials and it can be integrated easily with things like js-test-driver. QUnit is modeled after JUnit and all the other xUnit testing frameworks (like PHPUnit) so it's easy to pick up the API.
The basic syntax is as follows:
test("my first test", function() {
var str = "hello";
equals( "hello", str, "Should be hello" );
});
It also looks quite nice:
There are few companies that specialize in cross browser testing.
http://browserling.com/
http://www.browserstack.com/
http://saucelabs.com/ (already mentioned here)
http://browsershots.org/
http://www.browsercam.com/
http://browserseal.com/
Use whatever testing lib you want.
Selenium or SauceLabs etc are not unit testing. They are functional/integration testing solutions.
You need to abstract your external usages like DOM to unit test javascript.
Write your tests so that they can use any external library like jquery by configuration. So that, you can unit test your logic without touching any externality and you can also both test cross-browser testing.

Is jWYSIWYG editor too buggy for production use?

After reading the comments on this site:
http://www.webresourcesdepot.com/jwysiwyg-jquery-inline-content-editor-plugin/
There is a bit of consensus that jWYSIWYG editor is too buggy (especially in the last few recent comments). Has anyone had experience with it in a large production site?
I haven't run a huge sample of markup through it yet, but so far it has seemed to do the job fine.
I have been using jwysiwyg (https://github.com/akzhan/jwysiwyg) for about 4 months now on several production sites and I have to say that it is the best lightweight wysiwyg editor that I have used. It is small, fast, and reliable. I strongly recommend it for anyone that doesn't need a full-featured editor. If you need to work with complex source code and html markup then this may not be for you, but for business-level users it works very well.
I am guessing that the original question and all comments until here are out-dated. This is a great plugin.
are u tried to find some other place where this editor can be located? for example: http://github.com/akzhan/jwysiwyg/downloads ? There u can find v. 0.9 released few days ago
This answer may no longer reflect the current state of the project.
Checkout out the current version on https://github.com/akzhan/jwysiwyg and decide yourself.
I don't know the project but I conclude: Don't use it (at least at the moment)
the google code page jwysiwyg contains no documentation
the download also doesn't contain any
there are 91 open issues in the tracker (which for such a small project isn't a good indicator)
last commit (r33) was on the 21. September 2009
the second-last commit (r32) was on 21. April 2009
so no frequent updates to codebase either
no new download file (current is jwysiwyg-0.5.zip which dates from January 2009), although he made 3 commits after publishing v0.5 of which:
2 contain fixes for issues
1 restructures directory layout and adds a minimal example to the codebase
jwysiwyg has grown year-to-year development activity and community.
It hosted on GitHub more than1 year, so feel free to use, fork, patch and do pull request.

Categories