brew install node
sudo npm i -g npm
sudo npm install -g appium
sudo npm install wd
sudo appium
sudo npm install wd
sudo appium driver list
sudo appium driver install uiautomator2
1. What is Appium?
Applum is open-Source Mobile Automation tool for testing native Apps(Android & IOS) and mobile browsers
Applum Inernally uses WebDriver json wire(Which Selenium does)to test the Apps. so, it is just like Selenium but for mobile
APPIUM:
Open source Mobile Automation tool.
The only Cross-platform test supporting tool
Works for native, hybrid and boile web apps.
Supports Web driver APU - Selenium Family!
Supported Platforms
- iOS
- Android
- Firefox OS
You can write the code in any language Supported by Webdriver:
Java, C#, Javascript, Python, Ruby.
2. Step by Step Instructions for Appoium Configuration in Windows/MAC
Download Java
IAM Policies Structure
- Consists of
* Version: policy language version, always include "2012-10-17"
* Id: an identifier for the policy(optional)
* Statement: one or moere individual statements(required)
- Statements consists of
* Sid: an identifier for the statement(optional)
* Effect: whether the statement allows or denies a access(Allow, Deny)
* Principal:account|user|role to which this policy applied to
* Action: list of actios this policy allows or denies
* Resource: list of resources to which the actions applied to
* Condition: conditions for when this policy is in effect(optional)
{
"Version" : "2012-10-17",
"Id" : "S3-Account-Permissions",
"Statement" : [
{
"Sid" : "1",
"Effect" : "Allow",
"Principal" : {
"AWS" : [ "arn:aws:iam::123456789012:root"]
},
"Action" : [
"s3:GetObject",
"s3:PutObject"
],
"Resource" : ["arn:aws:s3::myubucket|*"]
}
]
}
skk
ss
- Users or Groups can be assigned JSON documents called policies
- These policies define the permisssions of the users
- In AWS you apply the least privilege principle: don't give more permissions than a user needs
{
"Version": "2012-10-17",
"Statement" : [
{
"Effect" : "Allow",
"Action" : "ec2:Describe*",
"Resource" : "*"
},
{
"Effect" : "Allow",
"Action" : "elasticloadbalancing:describe*",
"Resource" : "*"
},
{
"Effect" : "Allow",
"Action" : " [
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricStatistics",
"cloudwatch:Describe*"
],
"Resource" : "*"
}
]
}
- IAM = Identity and Access Management, Global service
- Root account created b y default, shouldn't be used or shared
- Users are people within your organization, and can be grouped
- Groups only contain users, not other groups
- Users don't have to belong to a group, and user can belong to multiple groups
[AN ARCHITECTURAL DECISION IS]
THOSE DECISIONS WHICH AFFECT THE STRUCTURE, NON-FUNCTIONAL CHARACTERISTICS, DEPENDENCIES, INTERFACES, OR CONSTRUCTION THECHNOLOGY
- Michael Nygard, Documenting Architecture Decisions (2011)
YOU THINK THAT BECAUSE YOU UNDERSTAND "ONE" THAT YOU MUST THERERFORE UNDERSTAND "TWO" BECAUSE ONE AND ONE MAKE TWO. BUT YOU FORGET THAT YOU MUST ALSO UNDERSTAND "AND".
- Donella Meadows, Thinking in Systems
CNI and CSI
- The containser networking and storage interfaces, respectively, that allow for pluggable networking and storage for Pods(containers) that run in Kubernets.
Container
- A Docker or OCI image that typically runs an application.
Control plane
- The brains of a Kubernetes cluster, where scheduling of containers and managing all Kubernets objects takes place (sometimes referred to as Masters)
DaemonSet
- Like a deployment, but it runs on every node of a cluster.
Deployment
- A collection of Pods that is managed by Kubernetes.
kubectl
- The command-line tool for talking to the Kubernetes control plane.
kubelet
- The Kubernetes agent that runs on your cluster nodes. It does what the control plane needs it to do.
Node
- A machine that runs a kubelet process.
OCI
- The common image format for building executable, self-containerd applications. Also referred to as Docker images.
POD
- The Kubernetes object that encapsulates a running container.