Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "protractor"
-
Hi, I am a Javascript apprentice. Can you help me with my project?
- Sure! What do you need?
Oh, it’s very simple, I just want to make a static webpage that shows a clock with the real time.
- Wait, why static? Why not dynamic?
I don’t know, I guess it’ll be easier.
- Well, maybe, but that’s boring, and if that’s boring you are not going to put in time, and if you’re not going to put in time, it’s going to be harder; so it’s better to start with something harder in order to make it easier.
You know that doesn’t make sense right?
- When you learn Javascript you’ll get it.
Okay, so I want to parse this date first to make the clock be universal for all the regions.
- You’re not going to do that by yourself right? You know what they say, don’t repeat yourself!
But it’s just two lines.
- Don’t reinvent the wheel!
Literally, Javascript has a built in library for t...
- One component per file!
I’m lost.
- It happens, and you’ll get lost managing your files as well. You should use Webpack or Browserify for managing your modules.
Doesn’t Javascript include that already?
- Yes, but some people still have previous versions of ECMAScript, so it wouldn’t be compatible.
What’s ECMAScript?
- Javascript
Why is it called ECMAScript then?
- It’s called both ways. Anyways, after you install Webpack to manage your modules, you still need a module and dependency manager, such as bower, or node package manager or yarn.
What does that have to do with my page?
- So you can install AngularJS.
What’s AngularJS?
- A Javascript framework that allows you to do complex stuff easily, such as two way data binding!
Oh, that’s great, so if I modify one sentence on a part of the page, it will automatically refresh the other part of the page which is related to the first one and viceversa?
- Exactly! Except two way data binding is not recommended, since you don’t want child components to edit the parent components of your app.
Then why make two way data binding in the first place?
- It’s backed up by Google. You just don’t get it do you?
I have installed AngularJS now, but it seems I have to redefine something called a... directive?
- AngularJS is old now, you should start using Angular, aka Angular 2.
But it’s the same name... wtf! Only 3 minutes have passed since we started talking, how are they in Angular 2 already?
- You mean 3.
2.
- 3.
4?
- 5.
6?
- Exactly.
Okay, I now know Angular 6.0, and use a component based architecture using only a one way data binding, I have read and started using the Design Patterns already described to solve my problem without reinventing the wheel using libraries such as lodash and D3 for a world map visualization of my clock as well as moment to parse the dates correctly. I also used ECMAScript 6 with Babel to secure backwards compatibility.
- That’s good.
Really?
- Yes, except you didn’t concatenate your html into templates that can be under a super Javascript file which can, then, be concatenated along all your Javascript files and finally be minimized in order to reduce latency. And automate all that process using Gulp while testing every single unit of your code using Jasmine or protractor or just the Angular built in unit tester.
I did.
- But did you use TypeScript?37 -
2nd post progress of this project https://devrant.com/rants/9985730/...
I went to shop to buy missing ir diode and bluetooth for arduino.
Launched arduino today with ir receiver and I managed to reverse engineer protocol.
Turns out it’s just NEC remote codes.
I used this library https://arduino.cc/reference/en/... to easily send and receive ir signals.
Everything took me whole day cause I’m rookie in hardware.
I can now remote control medion md 19500 using arduino.
Next step is to make it riding itself.
I need to measure speed and turn angle with error rates.
I will probably use pen and paper and let vacuum cleaner draw angle for me and after that I will use the most modern, accurate and cheapest angle measurement tool that is protractor - school welcome back
Speed can be more complicated and need another external complicated tool that is tape measure and a clock.
I also bought second robot because I got this stupid idea to allow people to control robots using internet.2 -
It took me way too long to understand the concepts of callbacks and promises... And all this while acting as a tester2
-
Received my first recruitment message on LinkedIn today. Generic as fuck "hey your profile looks nice, we have dis thing for you, come take a looksie".
Went ahead and read the whole thing, started laughing while reading requirements:
- own a degree in CS or related field: re-starting college next week
- extensive experience with automation processes: uuuh... I can write bash scripts and gulp tasks, how's that?
- extensive experience with Java, Angular, Selenium and Protractor: sure. Spent two weeks tinkering with those tools. Pretty much an expert already
- two years of experience: not even 6 months into my first job
And some other nonsense
Job would be in a very nice city, extended family lives nearby, actually a nice position. Too bad I am not looking for a job and my classes start on Monday 😂
But hey, at least people are looking at my profile! Yay!3 -
!rant
Finally managed to implement a proper E2E testing solution for our app with Protractor and Jasmine. Some basic tests (login and dashboard) are already working.
I'm just so happy to automate everything, going to cut down our manual testing time from 2h to about 20 to 30min if I'm estimating this correctly.
That's all. Just wanted to say I'm very happy with the results 😊5 -
I have 5 months working on a project that I was assigned and I have already worked with React with Redux, Sagas, Reselect, React Native, Jest, Protractor and PHP.2
-
What stack are you using to test your angular app and why?
We’re using Karma + Jasmine for writing unit tests, because it’s the default, and run them on GitLab CI in a Docker container. For UI testing we don’t use the default Protractor but Selenium, because we haven’t found a way to run Protractor tests with a dedicated webserver.1