Giter VIP home page Giter VIP logo

drial's Introduction

Austin Cheney

About Me

If you need a JavaScript/TypeScript developer that enjoys solving new and challenging problems email me at info at prettydiff.com.

Focus

I am currently working on https://github.com/prettydiff/share-file-systems

In this personal project I am trying to solve the problem of decentralization with a focus on privacy, permissions, performance, and automation. Decentralization is likely not what you think it is. For an excellent and mature example of decentralization see the architecture of WebRTC. My current project approaches the application considerations of decentralization far more aggressively than the media considerations defined by WebRTC.

How I Code

My prefered code style is imperative functional, such that code should be portable and not littered with unnecessary decoration or extranous execution steps. This follows a mental model of explicit brevity and expresses a say what you mean, not what you meant to say line of thinking. If you are a prospective employer and want to see how I code please see my homework assignment.

drial's People

Contributors

prettydiff avatar

Watchers

 avatar  avatar  avatar

drial's Issues

Injection in new Tabs/Windows

Provide support for various tabs and windows. This can be exercised by identifying frameId values returned by CDP and pushing those values into an array. The interface that defines tests testBrowserItem would need to be extended to account for a new property accounting for window as a number type.

Firefox - detect random based service ports

At this time it is mandatory to specify ports when testing against Firefox based browsers. I would like port specification to be optional.

For ports to be optional I need to be able to supply a port value of 0 to Firefox when running the flag -start-debugging-server. Firefox does accept a 0 value, which provides a service on a randomly available TCP port. Unfortunately nobody knows how to make Firefox indicate what that port number is.

https://github.com/prettydiff/drial/blob/master/documentation/problems.md#firefox

https://bugzilla.mozilla.org/show_bug.cgi?id=1721371

Chrome - cannot generate new tabs in response to remote page interaction

https://bugs.chromium.org/p/chromium/issues/detail?id=1231082

Clicking on a hyperlink with an attribute target="_blank" normally produces a new tab with the page content of the requested hyperlink location.

When doing this via remotely via test execution CDP reports a Page.windowOpen event and a HTTP request to /json/list reports a new page. In the actual chrome (shell) of the browser there is no new tab. Performing the event multiple times repeats the same behavior.

Firefox - redirecting http localhost to https

If Firefox ever caches the localhost domain against the https scheme the browser is effectively killed for testing. This is because executing Firefox with flag start-debugging-server will create a localhost service on the specified port, but that service only listens on http and insecure websockets. If Firefox caches the localhost domain against the https scheme then every request to localhost will be upgraded to https dynamically and so there is no means to access services from the browser.

Uninstalling the browser and reinstalling it is not enough. Uninstalling the browser will not remove cached browser assets and reinstalling the browser will automatically recognize and incorporate those cached assets.

https://github.com/prettydiff/drial/blob/master/documentation/problems.md#firefox

https://bugzilla.mozilla.org/show_bug.cgi?id=1679249

Allow navigation via history as an event interaction

Allow history navigation is a test interaction event. This is effectively allowing the user to click the back button or forward button of the browser, but this interaction can occur directly in the page using JavaScript and the history API. I just need to update the testBrowserItem interface to allow these new events.

Should be as simple as new event names: historyBack and historyForward.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.