Igor is a query engine that selects views in a iOS application, based on each view's class, properties, containment relationship to other views, and other characteristics.
See the Igor Wiki for details.
CSS-like selectors for iOS views.
License: MIT License
Igor is a query engine that selects views in a iOS application, based on each view's class, properties, containment relationship to other views, and other characteristics.
See the Igor Wiki for details.
A dummy issue to keep the Some Day milestone open even if all other issues are closed.
The last "release", 0.5.0, is a year old and used by cocoapods thusly. At the very least, the fix in issue #12 needs to be released for Igor to build in the latest XCode.
Any obvious issue with releasing master as ex. 0.6.0? (I suspect a years' worth of development is more than a point update, but just guessing).
Allow the user to specify which property is examined by each style of identifier pattern.
The default property for #word and #"string" patterns is accessibilityIdentifier
. Allow the user to associate these patterns with a different property, or perhaps with a prioritized list of properties.
Similarly, the default property for #number patterns is tag
. Allow the user to specify another property, or a prioritized list of properties.
One possibility: Configure these at runtime via category methods added to the application delegate (e.g. setIgorNumericIdentifierProperty: and setIgorStringIdentifierProperty).
Another: Configure these through files in the application bundle.
Hi Dhemery,
I ran the below code
private static final IosViewIdentifier createAccount = igor("UITextFieldLabel[accessibilityLabel=='Email Address']");
@test
public void testA() {
Thread.sleep(10000);
IosView button = application().view(createAccount);
button.sendMessage("touch");
}
and facing the error
Operation failed
Target : igor UITextFieldLabel[accessibilityLabel=='Email Address']
Operation : touch []
Reason : invalid selector
Details : engine named 'igor' hasn't been registered with the SelectorEngineRegistry18:36:53.859 INFO - Stop Simulator --> killall [iPhone Simulator]
Please ping point where I went wrong.
When compiled under Xcode 4.6 or older, following warning is shown:
- NOTE | [xcodebuild] Igor/igor/parser/DEIgorParserException.h:1:12: warning: class 'DEIgorParserException' defined without specifying a base class [-Wobjc-root-class]
- NOTE | [xcodebuild] Igor/igor/parser/DEIgorParserException.h:1:33: note: add a super class to fix this problem
Version: 0.5.0
Igor class names might conflict with other people's class names. So: Prefix Igor class names to prevent conflicts.
Possible prefix: DFX
The IgorLoader.m file uses the DEBUG flag to determine whether to include the code that registers Igor with Frank. This is probably the wrong thing to do.
Two possibilities:
Add syntax to search all windows. Caret indicates 'all windows,' so:
^ UIKeyboardLayoutStar
finds UIKeyboardLayoutStar
views in all windows.
The caret must be the first non-whitespace character in the query.
Possibility: The caret may combine with a normal instance pattern to select which windows are inspected.
Build the igor library so that it will both in the simulator and on a real device.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.