
Using AWS CodePipeline, CodeBuild and Lambda for automated UI testing (2017) - kiyanwang
https://aws.amazon.com/blogs/devops/using-aws-codepipeline-aws-codebuild-and-aws-lambda-for-serverless-automated-ui-testing/
======
growtofill
A note for 2018: currently you would want to use headless Chrome (Puppeteer)
or headless Firefox instead of PhantomJS. the later has been 'archived':
[https://news.ycombinator.com/item?id=16511860](https://news.ycombinator.com/item?id=16511860)

------
shoo
It's a bit sad but unsurprising to see these kinds of demos apparently using
the maximum number of proprietary AWS offerings. It'd be a bit more reassuring
to see a design that could be ported to different infrastructure, or run
locally.

~~~
chii
why would amazon promote anything else but their own stack?

~~~
some_account
Customers will check what options they have. A lot of them want to avoid lock-
in. It would be intelligent by Amazon to not ignore the competition (because
customers won't) and instead talk about the advantages and disadvantages of
their tech in relation to what the customer is trying to do.

~~~
citrablue
In my experience, people shopping for solutions will latch onto one that
claims to do what they need. They then build a vendor comparison matrix that
results in selecting that technology, but makes it look like they considered
alternatives. This is because people don't make rational decisions, but
instead rationalize decisions.

The tack they took here is, IMO, the most efficient. It's an easier effort to
publish this article than one exploring other options, and provides a linear
path to success for naive readers (rather than introducing the "other options"
branching paths).

------
cyberferret
We love using CodeCommit->CodePipeline to auto deploy builds (from
Phabricator) to our Elastic Beanstalk instances.

But please, please, please Amazon, can you let CodePipeline deploy a static
website directly to an S3 bucket that has been set up to host a static
HTML/CSS site? I am astounded that this basic functionality is not already
there (i.e. as S3 bucket as the destination of a CodePipeline), and it would
make the deployment of our documentation and even marketing sites a LOT
smoother (i.e. without having to use Lambda or third party services as we do
now).

~~~
aweiland
I believe that is possible. Here's an example pipeline:

[https://github.com/stelligent/devops-
essentials/blob/master/...](https://github.com/stelligent/devops-
essentials/blob/master/samples/static/pipeline.yml)

~~~
nullify88
There's just something about Amazon's YAML or JSON (IAM policies,
Cloudformation, etc) that just make them unbearable to look at. And the more
you stay within Amazons ecosystem, the complexity just grows.

Shippable, Travis, CircleCI etc. The configuration not only looks nicer, but
is so much easier to setup.

------
chrisan
Is there a way to test on IE/Edge? That is the biggest painpoint for us as
developers are already using Chrome/Firefox and most of the bugs arise from
not testing Microsoft products

Also, if you are testing on Chrome/Firefox, what is the advantage to also
running tests through Phantom?

~~~
ztjio
If you want to make life easier on yourself you could just use something like
Sauce labs.
[https://saucelabs.com/platforms#](https://saucelabs.com/platforms#)

~~~
pulkitsh1234
or BrowserStack :-) [https://www.browserstack.com/test-in-internet-
explorer](https://www.browserstack.com/test-in-internet-explorer)

------
wefarrell
Love the idea of being able to run the tests in parallel. In order for me to
use this type of setup I'd need to figure out a good way to interact with the
database for setting up background data and verifying persistence.

